从ajax调用中将数据提取到数组

时间:2011-09-04 02:31:33

标签: javascript jquery arrays

我从AJAX调用成功函数

重新获得了以下响应
{"0":"A",
"1":"B",
"2":"C",
"saved_as":["M","K","L"]}

有没有办法将它放在像

这样的数组中
dataObj[0]="A";
dataObj[1]="B";
dataObj[2]="C";

在未返回数据的一方可以拥有更多前三个元素。最后一个元素将始终为saved_as

感谢。

1 个答案:

答案 0 :(得分:3)

如果您只想要数字属性(这是有意义的),您可以这样做:

var array = [];

for( var name in dataObj ) {
    if( !isNaN( +name ) ) {
        array[ name ] = dataObj[ name ];
    }
}

DEMO: http://jsfiddle.net/hW8Jm/

(我假设已经解析了JSON数据。)

此枚举dataObj的属性,尝试使用一元toNumber运算符进行+转换,然后检查结果是否为NaN (不是数字)

如果它不是NaN (它是一个数字),则使用该属性作为数组的索引将该属性的值添加到数组中。