首页 > 解决方案 > 键上的JS过滤器数组

问题描述

所以一个例子可能是:

let a = [10,20,30,40,50,60,70,80];
let b = [1,2,6];
console.log([a[1], a[2], a[6]);

一个解释可以是这样的:获取a索引所在的对象b

我知道我可以做类似的事情

const f = (a, b) => {
    let result = [];
    b.forEach(element => {
        result.push(a[element]);
    });
    return result;
}

但也许有更简洁的方式

编辑:到目前为止我能得到的最好的就是这个

a.filter((n, index)=>b.includes(index)));

但不一样,事实上如果b = [0,0,0]它不返回[a[0],a[0],a[0]][a[0]]

标签: javascriptarrays

解决方案


b使用from array迭代数组Array.map()并返回相应的值:indexa

const a = [10,20,30,40,50,60,70,80];
const b = [1,2,6];

const result = b.map(index => a[index]);

console.log(result);


推荐阅读