我写了这个解决方案来解决我遇到的问题,但我对它不太满意。使用数组重新定义自身似乎很危险,或者至少在不好的做法中,有点像试图定义一个词但在定义中使用该词。谁能解释为什么这是错误的,或者为什么没问题?
let array = []
// other stuff happens to fill the array
array = array.filter(element => element !== true)
我这样做的原因是我需要相同的变量名称(array
,用于这些目的)在整个函数中保持一致。在返回数组之前,可能会多次添加或删除数组的内容,具体取决于它周围发生的其他行为。
如果这太含糊,请告诉我,我会尽力澄清。谢谢!
最佳答案
完全没问题。赋值的右侧 (array.filter(element => element !== true)
) 将首先被评估,生成一个全新的数组,然后它才会被分配回 数组
。
关于javascript - 使用自身重新定义数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51727791/