2017-02-26 55 views
0

我有回來爲這樣的服務器響應的陣列內:餡的陣列到一個對象,它是匹配的ID

Array[2] 
    0:Object 
    user: "Howard", 
    id:0 
    1:Object 
    user: "Robin", 
    id:1, 
    myArray: ["mary","john","gary"] // I want to add in here. 
] 

我然後有一個我自己創建的陣列。我想添加這個數組到=== 1就像我上面的例子那樣的id。我只能想象我必須使用匹配id的對象的鍵=== 1

myArray=["mary","john","gary"] 

回答

0

您可以使用find找到你想要的對象,然後將陣列添加到它是這樣的:

function addToObject(arr, id, myArr) { 
 
    var obj = arr.find(function(o) { // sear inside arr for the object with the id === 1 
 
    return o.id === id; 
 
    }); 
 
    if(obj)       // if we found an object 
 
    obj.myArray = myArr;   // add the array myArr as a property to it 
 
} 
 

 
var arr = [{user: "Howard",id:0}, {user: "Robin",id:1}]; 
 

 
addToObject(arr, 1, ["some", "text"]); // add the array to the object with the id 1 
 

 
console.log(arr);

注:我以爲ID都是唯一的!因此,對於ID id,這個ID最多隻有一個對象。

+0

該ID是唯一的:) – pcproff

0

希望我不會誤解這個問題。 只需遍歷主數組尋找id === 1,然後訪問myArray屬性並執行所需的操作。

mainArray.forEach(function(object) { 
    if(object.id === 1) { 
     object.myArray = ["mary","john","gary"]; 
    } 
} 
相關問題