Ich habe zwei Arrays von Objekten, hList
und sList
. Ich versuche, jedes Objekt in sList
eine Eigenschaft zu geben, die einem hList.ID
entspricht, wenn einer existiert und nicht bereits festgelegt ist. Bin irgendwie in der Logik verwirrt, kann mir jemand helfen?Wie wird eine Eigenschaft eines Objekts mit einer Eigenschaft eines Array von Objekten verglichen?
var sList=[{name:"s1",id:"a"},{name: "s2",id:"b"},{name: "s3",id:"c"},{name: "s4",id:"d"}];
var hList=[{name: "h1",id:"x"},{name: "h2",id:"y"},{name: "h3",id:"z"}];
so weit ich habe:
try{
for(i in sList)
{
var s=sList[i];
//find hList object that matches sList.id value
var h=_.filter(hList.id,function(i){return(i==s.hID)});
//if no hList.id match the sList.hID
//find hList object that doesnt match any
//set the source id to the hList object id
}
}catch(err){console.log("err: ",err);}
ZIEL: (nur ein hList.id
kann eine sList.hID
übereinstimmen Wenn ein hList.id
doesnt existieren die sList.hID
undefiniert sein sollte..)
var sList=[{name:"s1",id:"a",hID:"x"},{name: "s2",id:"b",hID="y"},{name: "s3",id:"c",hID="z"},{name: "s4",id:"d",hID=undefined}]; //goal: set sList.hID to match an hList.id
var hList=[{name: "h1",id:"x"},{name: "h2",id:"y"},{name: "h3",id:"z"}];
Das hat super funktioniert, ich werde auf der 'map' Funktion nachlesen müssen. Vielen Dank! – Rilcon42