2015-06-11 15 views
0

我開始有一個這樣的數組(從console_log):解析陣列,推動工作不正常

[Object, Object, Object] 
    0: Object 
     cbsa name: "Dothan, AL" 
    1: Object 
     cbsa name: "Gadsden, AL" 
    2: Object 
     cbsa name: "Birmingham-Hoover, AL" 
     length: 3 

我想剛剛拿到3個cbsa name S作爲一個逗號分隔字符串。

我已經試過這一點,但它要回來爲未定義:

var all_cbsa =[]; 
$.each(data, function(i, cbsaList) { 
all_cbsa.push(cbsaList['cbsa name']); 
console.log(all_cbsa); //undefined 
    }); 

什麼我搞亂了這裏?

+2

是原始數組'data'? – xbonez

+0

我想是這樣的...... var cbsas = data.names;' – jonmrich

+0

愚蠢的錯誤...改變了這個'$ .each(data,function(i,cbsaList){'to'$ .each(cbsaList,function(i ,cbsaList){'並且得到它的工作,謝謝你,隨意發佈作爲答案,我會接受。 – jonmrich

回答

0

這裏有一個同步的版本:

var data = [ 
    { 
     cbsa_name:'test' 
    }, 
    { 
     cbsa_name:'test2' 
    } 
]; 

function buildListFromArrayByKey(arr, key) { 
    var result = ""; 
    var len = arr.length - 1; 

    for(var i = 0; i <= len; i++) { 
     //if its the last index don't add a comma 
     if(i == len) { 
      result += arr[i][key];   
     }else{ 
      //add coma 
      result += arr[i][key] + ','; 
     } 
    } 

    return result; 
} 

var list = buildListFromArrayByKey(data,'cbsa_name');