Waarden ophalen van een object in JavaScript

Ik heb dit object:

var data = {"id": 1, "second": "abcd"};

Dit zijn waarden uit een formulier. Ik geef dit door aan een functie ter verificatie.

Als de bovenstaande eigenschappen bestaan, kunnen we hun waarden verkrijgen met data["id"]en data["second"], maar soms, op basis van andere waarden, de eigenschappen kunnen verschillen.

Hoe kan ik waarden uit datahalen die onafhankelijk zijn van eigenschapsnamen?


Antwoord 1, autoriteit 100%

Om toegang te krijgen tot de eigenschappen van een object zonder de namen van die eigenschappen te kennen, kun je een for ... inlus gebruiken:

for(key in data) {
    if(data.hasOwnProperty(key)) {
        var value = data[key];
        //do something with value;
    }
}

Antwoord 2, autoriteit 69%

In ES2017 kunt u Object.values():

Object.values(data)

Op het moment van schrijven is de ondersteuning beperkt (FireFox en Chrome).Alle grote browsers behalve IE ondersteunen dit nu.

In ES2015 kun je dit gebruiken:

Object.keys(data).map(k => data[k])

Antwoord 3, autoriteit 47%

Als je dit in één regel wilt doen, probeer dan:

Object.keys(a).map(function(key){return a[key]})

Antwoord 4, autoriteit 12%

Als je $is gedefinieerd, kun je herhalen

var data={"id" : 1, "second" : "abcd"};
$.each(data, function() {
  var key = Object.keys(this)[0];
  var value = this[key];
  //do something with value;
}); 

Je kunt er op de volgende manier toegang toe krijgen. Als je de waarden van sleutels kent

data.id

of

data["id"]

Antwoord 5, autoriteit 6%

Het spijt me dat je slotvraag niet zo duidelijk is, maar je hebt het vanaf de eerste regel bij het verkeerde eind. De variabele gegevens zijn een Objecten geen Array

Toegang tot de attributen van een object is vrij eenvoudig:

alert(data.second);

Maar als dit uw vraag niet volledig beantwoordt, gelieve deze dan te verduidelijken en terug te posten.

Bedankt!


Antwoord 6, autoriteit 3%

Met behulp van lodash_.values(object)

_.values({"id": 1, "second": "abcd"})
[ 1, 'abcd' ]

lodashbevat een hele reeks andere functies om te werken met arrays, objecten, collecties, strings en meer waarvan je wenselijkzou zijn dat deze in JavaScript waren ingebouwd (en eigenlijk lijkt langzaam hun weg vinden naar de taal).

Other episodes