javascript - 通过引用重新填充数组的最短方法是什么?

标签 javascript

我有一个数组,它通过引用绑定(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/

相关文章:

javascript - 异步加载javascript文件

javascript - 使用 jquery 制作图像 slider

javascript - jQuery UI Datepicker 奇怪的行为

javascript - 转义JavaScript中的大于和小于符号

javascript - 错误 : Could not resolve module @angular/core

javascript - 将图像悬停使其变暗

javascript - 如何扩展ExtJS SplitButton?

javascript - ng-include 和 ng-repeat - 删除子项

javascript - Jquery动画错误 "ReferenceError: $ is not defined"

javascript - 更新多选查找列 REST