我有以下关联数组值JSON
var list = {};
list['a'] = 'one';
list['b'] = 'two';
list['c'] = 'two';
的jQuery AJAX脚本关联数组,我想通过JSON格式只列出阵列的值。
{"list":["one","two","two"]}
我该怎么办?
我有以下关联数组值JSON
var list = {};
list['a'] = 'one';
list['b'] = 'two';
list['c'] = 'two';
的jQuery AJAX脚本关联数组,我想通过JSON格式只列出阵列的值。
{"list":["one","two","two"]}
我该怎么办?
您可以使用$.map()
提取值:
$.ajax({
data: {
list: $.map(list, function(val) { return val; })
},
...
});
var list = {};
list['a'] = 'one';
list['b'] = 'two';
list['c'] = 'two';
var newObj = {
"list": []
};
for (key in list) {
newObj.list.push(list[key]);
}
alert(JSON.stringify(newObj));
有没有关联阵列在JavaScript中,只有这些对象的属性有没有秩序。这意味着如果你想建立他们的数组,你需要的属性首先排:
var list = {a:'one', b:'two', c:'two'};
var result = {list:[]},
keys = [];
for (var key in list)
keys.push(key);
keys.sort();
for (var i=0; i<keys.length; i++)
result.list[i] = list[keys[i]];
return JSON.stringify(result);
或用一些辅助功能,这可能不被所有的浏览器本身支持同一件事:
return {list: Object.keys(list).sort().map(function(key) { return list[key]; })};
注意:它不是一个关联数组,它是一个对象。 –