我对嵌套函数有疑问
如何在这里获得包含[1,2,3]的b数组:
function someFunc() {
const a = [{
id: 1
}, {
id: 2
}, {
id: 3
}]
const b = []
function someOtherFunc() {
a.forEach(i => {
b.push(i.id)
})
}
return b
}
console.log(someFunc())

答案 0 :(得分:3)
您将获得一个空数组,因为someOtherFunc
函数未执行。
function someFunc() {
const a = [{ id: 1}, { id: 2 }, { id: 3 }];
let b = [];
someOtherFunc();
function someOtherFunc() {
a.forEach(i => {
b.push(i.id)
})
}
return b
}
console.log(someFunc())
或更快的解决方案,使用Array#map
。
function someFunc() {
console.log([{ id: 1 }, { id: 2 }, { id: 3 }].map(v => v.id));
}
someFunc();