1

嗨,我有一组由 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

4 回答 4

2
var array = 'Red Apple, Grapes, Green Apple, Orange'.split(', ');
于 2012-07-05T22:55:41.283 回答
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 < 8 中不支持 forEach,但可以在此处将其实现到 Array 原型中: https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach

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

于 2012-07-05T22:56:56.990 回答
1

使用.split()

var str = "Red Apple, Grapes, Green Apple, Orange";
var array = str.split(", ");
于 2012-07-05T22:56:50.190 回答
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]值映射为属性的值。

于 2012-07-05T23:07:54.877 回答