10
votes

Comment sélectionner un champ particulier à partir de la matrice JavaScript

J'ai un objet de tableau dans JavaScript. Je voudrais sélectionner un champ particulier à partir de toutes les lignes de l'objet.

J'ai un objet comme xxx

Je souhaite obtenir une sortie de noms uniquement comme < CODE> ["A", "B", "C"] SANS SANS LOPING OF EXAMLE D'OBJET.

Comment puis-je sélectionner un ou deux champs à l'aide de JLINQ? ou tout autre plugin?

Merci beaucoup.


2 commentaires

Votre objet n'est pas valide. Cela devrait être un tableau.


@ Dogbert-désolé, les accolades extérieures devraient être [] et inner devraient {}


4 Réponses :


8
votes

Vous avez votre définition dans le mauvais sens. Au lieu d'avoir un objet contenant 3 tableaux, vous voulez un éventail d'objets.

Comme ceci: p> xxx pré>

alors vous pouvez faire: p>

sample= jQuery.map(sample, function(n, i){
  return n.Name;
});


0 commentaires

12
votes

Vous pouvez essayer ceci:

var sample = [{Name:"a", Age:1}, {Name:"b", Age:2}, {Name:"c", Age:3}];
var Names = sample.map(function(item){return item.Name;});


3 commentaires

array.map ne sera pas pris en charge universellement par tous les navigateurs. Utilisez la version JQuery et vous êtes en sécurité.


@Jamiec: (...) au moment de la rédaction de «extras de tableau» (qui sont en réalité des méthodes normalisées, plutôt que des extras) sont pris en charge par les nouvelles versions de tous les grands navigateurs. Sauf indication contraire, toutes les méthodes discutées peuvent être utilisées en toute sécurité dans: Opera 11+ Firefox 3.6+ Safari 5+ chromé 8+ Internet Explorer 9+ (Source: dev.opera.com )


Merci, son travail. Mais fondamentalement, il boucle aussi seulement donc je pense que je ne peux pas éviter de boucler même indirect. Depuis que j'utilise IE 8, je vais aller avec la carte de JQuery.



2
votes

que Javascript n'a pas de sens. Il est syntialatiquement incorrect. Je suppose que vous vouliez dire: xxx

puis vous pouvez utiliser jQuery pour faire quelque chose comme ceci: xxx

mais en réalité, toute jQuery fait est boucle à travers l'objet pour vous. Écrire votre propre boucle serait (insignifiante) plus rapide. Il n'y a aucun moyen de le faire sans boucle.


0 commentaires

0
votes
for( var i = 0; i < sample.length; i++ )
{
   output.push( v.Name )
}

0 commentaires