javascript - 如何将一个数组拆分为两个具有交替元素的数组

标签 javascript arrays filter

我想将一个字符串数组拆分为两个数组。 但是,当我将字符串插入新数组时,它应该是交替的。所以,如果数组是:

let alph = [a,b,c,d,e,f]

那么新数组看起来像:

firstArr = [a,c,e]
secondArr = [b,d,f]

我怎样才能做到不重复自己?我有以下代码,它可以工作,但我不想编写两个相同的过滤器函数(保持干燥):

let firstArr = alph.filter((letter, index) => {
  return index % 2 === 0;
})

最佳答案

您可以获取两个数组的数组,并将索引作为要推送的数组的指示符。

let alph = ['a', 'b', 'c', 'd', 'e', 'f'],
    first = [],
    second = [],
    temp = [first, second];
    
alph.forEach((v, i) => temp[i % 2].push(v));

console.log(first);
console.log(second);

关于javascript - 如何将一个数组拆分为两个具有交替元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51090498/

相关文章:

php - 按日期有效扫描目录树

javascript - 符号的音译删除

javascript - 为什么数组中的 var 返回字符串索引?

c++ - DirectShow:转储流

javascript - 如何找到 javaScript 数组中以特定字母开头的所有元素

c - 如何将C中数组中每个单词的首字母大写

c# - WPF 的 ICollectionView.filter 具有大量数据

javascript - EaselJs 教程。动画不运行

javascript - 在 JavaScript 中使用 $1 作为变量

javascript - Highcharts 中长系列的奇怪工具提示行为