2017-03-14 34 views
0

我目前正在使用angularjs在我的項目上工作。我已經得到了一切,它只是這樣,我需要將字典列表轉換爲以逗號分隔的字符串。我只能用python來做到這一點。如何將字典轉換爲字符串angularjs

[{"name":"john"},{"name":"mark"},{"name":"peter"}] 

我想將它們轉換爲字符串

"john,mark,peter" 

我會很感激你的幫助。 :)

+0

那就乾脆像'變種名稱= array.map(函數(VAL){回報val.name;})。加入( '')'內部控制 –

回答

1

.map然後.join會做

var array = [{"name":"john"},{"name":"mark"},{"name":"peter"}]; 
var names = array.map(function(item) { 
    return item.name; 
}).join(','); 
0

嘗試map功能來連接值:

var dict=[{"name":"john"},{"name":"mark"},{"name":"peter"}]; 
 

 
var str=""; 
 
dict.map(function(a){ 
 
    str+=a["name"]+","; 
 
}); 
 

 
//feels ironical as question has AngularJS tag 
 
document.getElementById("log").innerText=str;
<div id="log"></div>

+0

這會增加不必要的','最後。 –

+0

是的,@PankajParkar不知道更糟的是,在'map'之後調用'join'或使用'substring'去除尾隨逗號:) – TheVillageIdiot

0

您可以在每個鍵值對簡單重複並用逗號連接提取的值。

var obj = [{"name":"john"},{"name":"mark"},{"name":"peter"}] 
var result = ''; 
for (var p in obj) { 
     if (obj.hasOwnProperty(p)) { 
      result += obj[p].name + ","; 
     } 
} 

result = result.replace(/,$/g,''); // to trim trailing comma 
1

map()方法創建一個新的數組,其結果是爲每個數組元素調用一個函數。使用它循環,然後將該值添加到變量。

var dict=[{"name":"john"},{"name":"mark"},{"name":"peter"}]; 
var string; 
dict.map(function(value){ 
    //do any stuff here 
    string+=value["name"]+","; 
}); 
console.log(string);