JavaScript 循环依赖

标签 javascript arrays

请有人解释一下我的代码有什么问题。我想要实现的是从水果数组创建一个数组(参见代码块),其中 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)

}

但是,当我将数组打印到控制台时,我得到的是: [[对象对象] { 名称:《芒果》 }, [圆形对象对象], [圆形对象对象], [圆形对象对象]]

第一个对象已正确填充,但我不明白为什么它说其他对象存在循环依赖性。谁能帮我解释一下问题是什么以及我应该如何解决它。谢谢!

最佳答案

[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)
}

关于JavaScript 循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023779/

相关文章:

javascript - 如何在 jQuery 中通过 "this"引用 JavaScript 类?

javascript - 显示 [object object ] 而不是变量 : ionic 中的数据

javascript - 主干 Marionette 复合 View 渲染

javascript - 从调用 forEach() 数组方法的方法返回。 JavaScript

python - 在数组中选择 N 个均匀间隔的元素,包括第一个和最后一个

javascript - 将大型 PHP 数组传递给 Javascript

javascript - React mixin 到组合重构

javascript - KonvaJS:文本对象中的 HTML

javascript - 从具有加权元素的数组中获取随机元素

javascript - 使用正则表达式捕获 `\"` 并拆分为数组