将文本转换为javascript对象或数组

时间:2012-07-05 22:53:58

标签: javascript arrays

我有一组由php检索并在两个隐藏文本字段中显示的单词,如下所示:

标题:

Red Apple, Grapes, Green Apple, Orange

文件名:

red_apple5, grapes1, green_apple2, orange3

有没有办法可以将它转换为像这样的对象或数组:

T = {"Red Apple" , "Grapes" , "Green Apple" , "Orange"}

S = {"red_apple5" , "grapes1" , "green_apple2" , "orange3"}

我希望将每个人都附加到列表中。有没有办法做到这一点?

4 个答案:

答案 0 :(得分:2)

var array = 'Red Apple, Grapes, Green Apple, Orange'.split(', ');

答案 1 :(得分:2)

您可以使用javascript的split()方法拆分字符串:

var str = "Red Apple, Grapes, Green Apple, Orange";
var arr = str.split(', ');
console.log(arr)

要将这些附加到列表中,必须使用forEach()循环遍历新创建的数组,然后为每个项目创建新的li。然后,您可以将li作为子元素附加到ul。

var list = document.getElementById("#IdOfYourList")
arr.forEach(function(a) {
    var newLi = document.createElement("li")
    newLi.innerHTML = a;
    list.appendChild(newLi);
});

另请注意,IE中不支持forEach< 8,但可以在这里实现Array原型: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach

参考: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split

答案 2 :(得分:1)

使用.split()

var str = "Red Apple, Grapes, Green Apple, Orange";
var array = str.split(", ");

答案 3 :(得分:1)

假设您要创建有效对象,请使用以下代码进行参考。 注意:为了说明目的,我们进行了一些修改。

<强> HTML

<div id="output"></div>

<强>的jQuery

var titles = 'Red Apple, Grapes, Green Apple, Orange'.split(', ');
var fileNames = 'red_apple5, grapes1, green_apple2, orange3'.split(', ');

var newObject = {};

for(var i=0; i < titles.length; i++){
    newObject [titles[i]] = fileNames[i];
}

$('#output').text(JSON.stringify(newObject));

演示:http://jsfiddle.net/GHgsT/

上面的代码循环遍历titles数组,然后将titles[index]值映射为对象的属性(键),并将相应的fileNames[index]值映射为属性的值。