簡體   English   中英

Javascript循環依賴

[英]Javascript Circular Dependency

請有人可以解釋我的代碼有什么問題。 我想要實現的是從水果數組創建一個數組(請參見代碼塊),其中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”},[circular object Object],[circular object Object],[circular object Object]]

第一個對象正確填充,但我不明白為什么它說其他對象存在循環依賴關系。 誰能幫我解釋一下問題是什么以及我應該如何解決。 謝謝!

您要多次添加同一對象。

function myFunction() {
  var array=[];

  fruits.forEach(function(entry, index) {
    var item = {};
    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)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM