我使用这样的函数填充我的数组:
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);
然后控制台日志返回预期结果。
为什么第一个版本返回空?
答案 0 :(得分:2)
正如您所定义的那样" myitems"作为数组,它不能包含键值对。
myitems[k.name] = X;希望这样做,而
myitems.push(X);正在向数组添加新项目。