我有这个对象:
"cuisines":{
"2": "Burgers",
"7": "American",
"9": "Sandwiches",
"11": "Breakfast"
}
我怎样才能将它变成这样?
Burgers, American, Sandwiches, Breakfast
我正在使用棱角分明。
答案 0 :(得分:1)
由于无法保证对象中属性的顺序,您必须对属性进行排序以按顺序获取它们。将它们放在一个数组中并对它们进行排序,然后你可以将这些名称放在一个数组中并加入它:
var o = {
"2": "Burgers",
"7": "American",
"9": "Sandwiches",
"11": "Breakfast"
};
var arr = [];
for (key in o) {
arr.push({ key: key, value: o[key] });
}
arr.sort(function(x,y){ return x.key - y.key});
var names = [];
for (var i = 0; i < arr.length; i++) {
names.push(arr[i].value);
}
var result = names.join(', ');
答案 1 :(得分:0)
我不知道你为什么要这样,但你可以试试这个,
var cuisine = {
"2": "Burgers",
"7": "American",
"9": "Sandwiches",
"11": "Breakfast"
};
var data =[];
$.each(cuisine, function(key,val){
data.push(val);
});
console.log(data.join(','));
答案 2 :(得分:0)
这似乎是一个非常奇怪的问题,并且与Angular本身没有任何关系。这似乎是一个纯粹的JavaScript问题。
话虽如此,你应该能够做到这一点:
var values = [];
for(var key in cuisines){
if(cuisines.hasOwnProperty(key)){
values.push(cuisines[key]);
}
}
// values now looks like ["Burgers","American","Sandwiches","Breakfast"]