javascript forEach将新对象添加到数组返回null

时间:2017-11-22 22:42:22

标签: javascript arrays foreach

我使用这样的函数填充我的数组:

    const items = [
            {name : 'original', count: 'one'}, 
            {name: 'copy', count: 'two'}, 
            {name: 'redundant', count: 'three'}];

    let myitems = [];
    items.forEach(function (k) {
      myitems[k.name] = myFunction(k.count);
    }, this);
    console.log('final nurls: ', myitems);

console.log 返回空!

但是当我这样做时:

items.forEach(function (k) {
  let item = myFunction(k.count)
  myitems.push(item);
}, this);

然后控制台日志返回预期结果。

为什么第一个版本返回空?

1 个答案:

答案 0 :(得分:2)

正如您所定义的那样" myitems"作为数组,它不能包含键值对。

myitems[k.name] = X;
希望这样做,而
myitems.push(X);
正在向数组添加新项目。