从函数推送数组到另一个函数

时间:2017-03-13 22:15:29

标签: javascript arrays function

我对嵌套函数有疑问

如何在这里获得包含[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())




1 个答案:

答案 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();