你的问题
如何获取数组下标为偶数的下标所对应的数组内的值
换句话说就是: 获取数组内偶数下标对应的 数组
照上面的句子来看,合理猜测你说的其实是 从二维数组里取得偶下标对应的数组们,并把他们铺平为一个数组
比如
var test = [
['a'],
['b'],
['c'],
['d']
]
处理之后结果是 ['a', 'c'] 即 偶数下标对应的数组们合并为一个数组 (下标从 0 开始 0 是偶数)
如果确信是这样 请继续往下看
先获取偶下标对应的数组们
var isEven = i => i % 2 === 0;
var evens = arr => arr.filter(
// 子数组, 序号 => idx 是偶数则返回 true 否则 false
// 这样可以过滤掉奇数下标的元素
(subArr, idx) => isEven(idx)
);
把用 evens 获得的数组们铺平
比如 [[1], [2]] 处理之后变成 [1, 2]
这个过程就是铺平
var flat = arr => arr.reduce((acc, cur) => {
// 每一次的返回值将会作为下一次的 acc 来用
// 那么每一次都把 acc cur 合并在一起 最后就是铺平了
return acc.concat(cur)
}, [])