Mag*_*ton 5 javascript arrays lodash
我有两个一维数组,a
并且b
. a
有值且b
为空。的长度a
是偶数。我想从 中删除所有其他值a
并将它们移动到b
,按照它们放置在 中的顺序相同a
。
var a = [1, 2, 3, 4, 5, 6], b = [];
Run Code Online (Sandbox Code Playgroud)
变成
var a = [1, 3, 5], b = [2, 4, 6];
Run Code Online (Sandbox Code Playgroud)
我认为这filter
可以解决问题,但我对其性能不太满意,因为平均长度为a
300-400。
b = a.filter((i, idx) => {
return idx % 2 == 0;
});
a = a.filter((i, idx) => {
return idx % 2 == 1;
});
Run Code Online (Sandbox Code Playgroud)
我也一直在查看 lodash,看看该库是否有任何可以帮助我的东西,唯一接近我正在寻找的功能是_.chunk(array, \[size=1\])
.
我感谢所有帮助我找到更好、更快的方法来做到这一点的帮助。
Vanilla JS ES5,简单干净。
var a = [1, 2, 3, 4, 5, 6], b = [];
for(var i = a.length-1; i >= 0; i--) {
if(i % 2 === 1) {
b.unshift(a.splice(i, 1)[0])
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,它是向后迭代a
,如果条件为真,则拼接该项目并将其添加为 的第一项b
。
归档时间: |
|
查看次数: |
1753 次 |
最近记录: |