相关疑难解决方法(0)

如何在JavaScript中正确地将对象从for循环推送到数组?

我想创建一个包含for循环但是有问题的数组,我想要的形状如下:

[ 
  { data: 'apple', label: 'Fruits'  },
  { data: 'banana', label: 'Fruits' },
  { data: 'mango', label: 'Fruits'  } 
]   
Run Code Online (Sandbox Code Playgroud)

所以我尝试了以下方式,但它没有正常工作.

var arr = [];
obj = {};
var fruits = ['banana', 'apple', 'mango'];
var label = 'Fruits';

for (var i=0; i<fruits.length; i++){
    obj['data'] = fruits[i];
    obj['label'] = label;
    arr.push(obj);
}

console.log(arr);
Run Code Online (Sandbox Code Playgroud)

结果就是推送了同样的对象.

[
  { data: 'apple', label: 'Fruits' },
  { data: 'apple', label: 'Fruits' },
  { data: 'apple', label: 'Fruits' } 
]
Run Code Online (Sandbox Code Playgroud)

这是因为功能更接近吗?我怎样才能做得好?

javascript arrays

2
推荐指数
3
解决办法
5017
查看次数

标签 统计

arrays ×1

javascript ×1