我有一组由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"}
我希望将每个人都附加到列表中。有没有办法做到这一点?
答案 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));
上面的代码循环遍历titles
数组,然后将titles[index]
值映射为对象的属性(键),并将相应的fileNames[index]
值映射为属性的值。