请有人解释一下我的代码有什么问题。我试图实现的是从水果数组(见代码块)创建一个数组,其中array=name:"Banana",name:"Orange",name:"Apple",name:"Mango“
var fruits = ["Banana", "Orange", "Apple", "Mango"];
myFunction(fruits)
function myFunction() {
var array=[];
var item = {};
fruits.forEach(function(entry, index){
item.name=entry
array.push(item);
});
console.log(array)
}然而,当我将数组打印到控制台时,我得到的是:[object Object { name:"Mango“},循环对象,圆形对象,圆形对象]
第一个对象得到了正确的填充,但我不明白为什么它说其他对象存在一个循环依赖关系。有谁能帮我解释一下这个问题是什么,我应该如何解决。谢谢!
发布于 2015-10-08 19:05:04
[name: "Banana", name: "Orange", name: "Apple", name: "Mango"]不是一个有效的JS对象,您可以拥有:
[{name: "Banana"}, {name: "Orange"}, {name: "Apple}, {name: "Mango"}]是一个对象数组,要在循环中执行:
function myFunction() {
var array=[];
fruits.forEach(function(entry) {
array.push({ name: entry });
});
console.log(array)
}发布于 2015-10-08 18:59:52
您要多次添加相同的对象。
function myFunction() {
var array=[];
fruits.forEach(function(entry, index) {
var item = {};
item.name=entry
array.push(item);
});
console.log(array)
}https://stackoverflow.com/questions/33023779
复制相似问题