我已经从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(它是一个数字),则将该属性的值使用该属性作为数组的索引添加到该数组。

09-27 01:21