【发布时间】:2020-01-30 17:26:36
【问题描述】:
如何在 ES6 中重写这个嵌套循环并将其放在一行中?
const fruits = [ { id: 1, name: "orange"},{ id: 3, name: "apple"},{ id: 4, name: "grape"}]
const selectedFruits = [ "2", "3" ]
let fruitsArr= [];
fruits.forEach(fruit => {
selectedFruits.forEach(selected => {
if (selected == fruit.id) {
fruitsArr.push(fruit.name)
}
})
})
console.log(fruitsArr)
【问题讨论】:
-
那是 ES6,把它放在一行只会让它更难阅读。
-
任何 Javascript代码都可以压缩到一行
-
只是逻辑问题。
let fruitsArr = fruits.filter(f => selectedFruits.indexOf(f.id + "") > 0).map(f => f.name);
标签: javascript arrays loops