javascript - 键上的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]]
解决方案
b
使用from array迭代数组Array.map()
并返回相应的值:index
a
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);
推荐阅读
- javascript - 无法测试 redux-observable 史诗
- c# - 如何使用asp.net c#在chrome的新选项卡中打开itextsharp PDF
- python-3.x - 使用生成的变量,其值在另一个函数中的一个函数中分配
- firebase - 如何从 firebase-admin@5.12.0 更新到 firebase-admin@6.0.0?
- python - 从我的应用程序和 Tornado 中获取日志
- json - 有没有办法使用 map quest api 返回完整格式的地址?
- c# - 一起使用 White UI 和 FlaUI
- xml - 无法在 tomcat8 dockerfile 上添加 server.xml。xml中的错误
- java - Spring 微服务未连接到 Eureka
- android - 将 Recylerview 放在透明操作栏下方?