使用数组形式的字符串初始化Array

时间:2014-05-03 03:12:38

标签: javascript ajax arrays

我有一个从ajax结果获得的字符串:

["name1", "name2", "name3", "name4", "name5"]

字符串模式与上面完全相同,包括",并且总元素不固定

我尝试了下面的代码但是没有工作:

var strArr="";
$.ajax({url:"myurl",success:function(result){
     strArr=result;
}});
var arr = new Array(strArr);

更新:这是我的最新代码

var strArr="";
$.ajax({url:"myurl",success:function(result){
    strArr=result;
    alert(strArr); //["name1", "name2", "name3", "name4", "name5"]
}});
var arr= JSON.parse(strArr);

1 个答案:

答案 0 :(得分:3)

要将该字符串转换为实际数组,只需执行JSON.parse,就像这样

var data = '["name1", "name2", "name3", "name4", "name5"]';
console.log(JSON.parse(data));
# [ 'name1', 'name2', 'name3', 'name4', 'name5' ]

您可以确认返回的对象类型,例如

console.log(Object.prototype.toString.call(JSON.parse(data)));
# [object Array]

您的实际代码应该是这样的

$.ajax({
    url: "myurl",
    success: function(result) {
        alert(JSON.parse(result));
    }
});