2017-01-11 9 views
0

Aufgrund der Anordnung des Objekts mit:

function person(first, last, RPI, o, t, u) { 
    this.first = first; 
    this.last = last; 
    this.RPI = RPI; 
    this.o = o; 
    this.t = t; 
    this.u = u; 
} 

var MD = new person('Mike', 'D', 1234, '', '', ''); 
var AY = new person('Adam', 'Y', 5678, '', '', ''); 
var AH = new person('Adam', 'H', 1212, '', '', ''); 

var personArray = new Array(MD, AY, AH); 

Wie würde ich den RPI-Wert von jedem Objekt in dieser Formel iterieren?

function selector(x){ 
//do something with x.RPI 
} 

Ich habe versucht:

$.each(personArray , selector (personArray[person].RPI){ 
selector(x) 
}); 

Aber es funktioniert nicht. Was mache ich falsch mit meiner Aussage?

+0

'personArray = {MD, AY, AHR, DD}; 'ist kein Array. Tippfehler? – epascarello

+0

Ja. Tippfehler. :-). Trotzdem blieb das Problem bestehen. –

+0

Ihre Verwendung von jedem ist falsch. Die Funktion wird im zweiten Argument nicht referenziert. Du hast dieses seltsame {} danach .... Schau dir die Dokumentation an, wie man es benutzt http://api.jquery.com/jquery.each/ – epascarello

Antwort

1

Der $.each Rückruf muss eine Funktion tun wie die etwas sein, folgende:

var personArray = new Array (MW, MT, DR) 
$.each(personArray, function(index, person){ 
    console.log(person.RPI); 
} 
0

Änderung Ihrer $ .each zu

$.each(personArray , selector); 

und dann

function selector(index, item){ 
    //do something with item.RPI 
} 
Verwandte Themen