javascript - 在 ES6 中推送和移动数组的快速方法

标签 javascript arrays performance ecmascript-6

我有一个持续需要更新数组的数据流。数组本身总是比传入的流大。这意味着我必须将缓冲区连接到数组并移动所有内容。但是,连接速度很慢,所以我想知道是否有快速的方法可以做到这一点?

例子:

var array = [1,2,3,4,5,6];
var stream = [7,8,9];
array = magicalFunction(array,stream); // outputs [4,5,6,7,8,9]

数组函数用于使用 ChartJS 绘图。这是一个滚动图,因此当数据进来时(它以 block 的形式进来)我必须通过移动整个数据集来更新图表。

最佳答案

你可以使用 spread syntax ... .但如果这比 concat 更快......?

var magicalFunction = (a, s) => [...a.slice(s.length - a.length), ...s],
    array = [1, 2, 3, 4, 5, 6],
    stream = [7, 8, 9];

array = magicalFunction(array,stream);

console.log(array);

Array.concat

var magicalFunction = (a, s) => a.slice(s.length - a.length).concat(s);
    array = [1, 2, 3, 4, 5, 6],
    stream = [7, 8, 9];

array = magicalFunction(array,stream);

console.log(array);

Array.unshift

var magicalFunction = (a, s) => (s.unshift(...a.slice(s.length - a.length)), s);
    array = [1, 2, 3, 4, 5, 6],
    stream = [7, 8, 9];

array = magicalFunction(array,stream);

console.log(array);

关于javascript - 在 ES6 中推送和移动数组的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46093248/

相关文章:

javascript - 是的 - 逗号小数分隔符而不是点

javascript - HighCharts 轴对齐

javascript - 动态附加值到链接会产生错误的结果

javascript - CSV 数据文件到字符串数据

javascript - Javascript 中 value.x 和 value[x] (从数组获取属性)之间的区别?

performance - 一种设计 Web 应用程序系统的可升级方法

javascript - PHP回显问题

java - 自动迷宫解决方案

python - 我怎样才能加速我的Python代码?

mongodb - 如何从 MongoDB 中删除数据而不使其停止运行?