我有一个数组,它通过引用绑定(bind)为模型 ( to handsontable )。我们称它为数据
。在某些时候,我需要从头开始重新计算它(让我们调用一个计算后的新数组 freshData
;它可能有不同的长度)。分配 data = freshData
不会完成这项工作,因为这只会更改 data
引用的内容,而不会改变绑定(bind)模型。但是调用 data
的 .splice
和 .push
就可以了:
data.splice(0,data.length);
for(var i = 0; i < freshData.length; i++)
data.push(freshData[i]);
我想知道:这可以用更短的方式完成吗?比如,没有循环或者甚至可能使用单一方法? data.concat(freshData)
没有帮助,因为它创建了一个新数组,它不会更改 data
本身。此外,这种迭代在性能方面看起来有些次优...
最佳答案
如果你有 ES2015 支持或 babel:
data.push(...freshData)
否则就去
data.push.apply(data, freshData);
关于javascript - 通过引用重新填充数组的最短方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44532892/