我有一个jquery的var,其中包含这样的值..
var data = [["Local", 75], ["STD", 55], ["ISD", 96], ["VOIP", 123], ["INCOMING", 34], ["INET", 104]];
现在我有另一个var包含像..
这样的值var data2=["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]
所以我的问题是如何将var data2
转换为var data
,因为我的应用程序需要var data
格式的数据。
请帮忙。
答案 0 :(得分:5)
这样做:
var data2=["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]
data = data2.map(function(e){return e.split(',')});
结果:
data === [["LOCAL","200"], ["STD","120"], ["ISD","200"],
["VOIP","500"], ["INCOMING","234"], ["INET","104"]]
或者,如果"子阵列中的第2项" 是一个整数:
data = data2.map(function(e){
var temp = e.split(',');
temp[1] = parseInt(temp[1], 10);
return temp;
});
结果:
data === [["LOCAL",200], ["STD",120], ["ISD",200],
["VOIP",500], ["INCOMING",234], ["INET",104]]
然而,最好的解决方案可能是将其形成如下对象:
data = data2.reduce(function(obj, current){
var temp = current.split(',');
obj[temp[0]] = parseInt(temp[1], 10)
return obj;
}, {});
结果:
data === {"LOCAL":200, "STD":120, "ISD":200,
"VOIP":500, "INCOMING":234, "INET":104};