我已经从AJAX调用成功功能恢复了以下响应
{"0":"A",
"1":"B",
"2":"C",
"saved_as":["M","K","L"]}
有什么办法可以将它放在如下数组中
dataObj[0]="A";
dataObj[1]="B";
dataObj[2]="C";
一方面,未返回的数据可以包含前三个以上的元素。最后一个元素将始终保存为
谢谢。
最佳答案
如果只需要数字属性(这很有意义),则可以执行以下操作:
var array = [];
for( var name in dataObj ) {
if( !isNaN( +name ) ) {
array[ name ] = dataObj[ name ];
}
}
演示:http://jsfiddle.net/hW8Jm/
(我假设已经解析了JSON数据。)
枚举
dataObj
的属性,使用一元toNumber
运算符尝试进行+
转换,然后检查结果是否为NaN
(不是数字)。如果不是
NaN
(它是一个数字),则将该属性的值使用该属性作为数组的索引添加到该数组。