2010-03-26 4 views
0

Il doit y avoir une meilleure façon d'écrire les js dans ma fonction ....variables Js à JSON

J'ai besoin de se retrouver avec JSON nue qui ressemble à ceci [1095365, 1125504].

Mise en place d'un exemple de code;

var article = {"Id":0,"dirtyFlags":null,"textAreas":null,"metaData":null,"relatedCIs":[{"Id":1095365,"Type":4},{"Id":1125504,"Type":4}],"clients":[{"Id":992754}]}; 
myFunction(article.relatedCIs); 

et voici la fonction que je veux optimiser;

function myFunction(jRelatedCIs) { 
    var idArray = []; 
    $.each(jRelatedCIs, function (i, ci) { 
    idArray.push(ci.Id); 
    }); 

    var jIdArray = $.toJSON(idArray); 

    ....other code 
} 

Répondre

1

Qu'est-ce qui est sous-optimal à propos de ce que vous faites en ce moment? Peut-être que « optimiser » était pas le bon mot :)

Vous pouvez éviter la nécessité pour le tableau supplémentaire id en le faisant en utilisant une doublure map, mais il fait encore à peu près la même chose sous le capot:

var jIdArray = $.toJSON($.map(jRelatedCIs, function(ci){return ci.Id;})); 
+0

Ah, $ .map. Cela m'avait échappé. À votre santé. :) – GordonB

Questions connexes