2012-07-05 63 views
1

嗨,我有一组字的多数民众赞成由PHP检索和两个隐藏的文本字段中显示是这样的:转换文本转换为JavaScript对象或数组

的标题:

Red Apple, Grapes, Green Apple, Orange 

的文件名:

red_apple5, grapes1, green_apple2, orange3 

是有办法,我可以将此转换为一个对象或数组的东西升IKE在此:

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

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

我希望他们每个人添加到列表中。有没有办法做到这一点?

+1

'{“Red Apple”,“Grapes”,“Green Apple”,“Orange”}' - 它在语法上不正确 – zerkms 2012-07-05 22:55:23

+0

正确,大括号(“{”或“}”)表示对象,它是一组键:值对。例如:{名称:“约翰”,城市:“康普顿”}。方括号表示数组。 EX [“一”,“二”,“三”]。在这里找到了很好的参考资料:http://godbit.com/article/js-tidbits-datatypes-object-object-vs-array – Austin 2012-07-05 23:07:40

回答

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]值为t他反对的财产(关键)和相应的fileNames[index]价值作为财产的价值。

+0

用'JSON.stringify'来美化代码总是更好的http://jsfiddle.net/DerekL/vjTFk/1/ – 2012-07-05 23:13:54

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

'S'(其他对象'文件名') – 2012-07-05 23:02:59

+0

@Derek:没有你。我确信OP可以理解他可以申请'。split()'为任何字符串,所以我不需要举例说明世界上每一个刺猬 – zerkms 2012-07-05 23:05:27

+0

好吧,我现在明白了。 – 2012-07-05 23:08:09

1

使用.split()

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

您可以使用JavaScript的split()方法来分割字符串:

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

要,必须通过新创建的数组循环及如何使用foreach()添加这些到一个列表,然后创建一个每个项目的新李。然后你可以将li作为一个子元素添加到ul中。

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

还要注意的是的forEach没有在IE < 8支持,但可以落实到数组原型这里: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach

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