您好我在更改字符串时遇到问题,以便在javascript中调用数组,请帮帮我,
我有一个阵列:
var fruit=['Apple','Banana','Orange'];
我有来自mysql的数据字符串:
示例:var string = '0,2';
如何显示与fruit
对应的var string
数组?
(感谢您的帮助)
答案 0 :(得分:1)
您必须split()
字符串才能获取索引数组而不是索引字符串:
var indexes = '0,2'.split(','); //use the ',' char to split the string
现在,您必须选择与之前创建的新索引数组中的每个索引相对应的水果值。
var res = []; //The new Array to contains new fruits
indexes.forEach(function(index) { //loop over fruit indexes we want
res.push(fruit[index]); //Add the juicy fruit :)
});
你得到了新的数组(res
)和多汁的水果:)
修改强>
或者,更短/更好的解决方案(感谢 Xotic750 ) (map函数的第二个参数指定上下文(this))
var ids = '0,2';
var fruits = ['Apple','Banana','Orange'];
fruits = ids.split(',').map(function(index) {
return this[index];
}, fruits);
答案 1 :(得分:0)
我不知道它是否会起作用,但这是我能想到的:
var x = [];
for (var i = 0; i>=string.length; i+=2) {
x.push(fruit[string[i]]);
}
但是只使用偶数,因为逗号也存在于字符串中。
答案 2 :(得分:0)
您需要使用string
方法将Split()
拆分为数组:
var myArray = string.split(",");
然后,您可以遍历数组并将其值用作fruit
数组中的索引。例如,第一个水果将是:
fruit[myArray[0]];