Ich möchte gegen ein Array mit einem Feld namens name überprüfen und überprüfen, ob ein Objekt.name in "arraryCollection" in "People Array" existiert, wenn nicht vorhanden es wird Push „arraryCollection [n] .name. so etwas Ähnliches.
$.each(arrayCollection, function(i, el) {
if ($.inArray(el.name, people.name) === -1) {
people.push({name: el.name);
})
})
jedoch habe ich nicht people.name verwenden kann, da es nicht definiert ist, und unten ist, was ich getan um zu arbeiten , aber gibt es eine Möglichkeit, people.name direkt anzurufen?
var tempList=[];
var people=[];
$.each(arrayCollection, function(i, el) {
if ($.inArray(el.name, tempList) === -1) {
tempList.push(el.name);
})
})
$.each(tempList, function(i, tl) {
people.push({name: tl})
})
Mit anderen Worten, wie rufe ich ganze Sammlung von Array-Feld direkt wie people.name anstelle von einzelnen Personen [n] .name, die nur 1 Ergebnis zurückgibt.
Hier stimmt etwas nicht. Wenn 'people.name' existiert, dann ist' people' ein Objekt und Sie können nicht zu 'people' wechseln, da es sich um ein Objekt, nicht um ein Array handelt. Brauchen Sie mehr Details über die Personenstruktur. Siehe [mcve] – charlietfl
people ist ein Array, das ungefähr so aussieht wie 'people = [{name:" abc "}, {name:" efg "}]' also 'people [0] .name' ist' abc' – nicker
Sie haben Durchlaufen des Arrays, um die Namenseigenschaft jedes Objekts zu vergleichen. – charlietfl