简体   繁体   English

jQuery中的var数据格式

[英]Formating of var data in jquery

I have a var in jquery which contains values like this .. 我在jquery中有一个var,其中包含这样的值..

var data = [["Local", 75], ["STD", 55], ["ISD", 96], ["VOIP", 123], ["INCOMING", 34], ["INET", 104]];

Now i have another var which contains values like .. 现在我有另一个var,其中包含类似..的值

var data2=["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]

So my question is how can i convert var data2 to var data because ,my application needs the data in the var data format. 所以我的问题是如何将var data2转换为var data因为我的应用程序需要var data格式的var data

Please help . 请帮忙 。

This'll do it: 这样就可以了:

var data2=["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]
data = data2.map(function(e){return e.split(',')});

result: 结果:

data === [["LOCAL","200"], ["STD","120"], ["ISD","200"],
          ["VOIP","500"], ["INCOMING","234"], ["INET","104"]]

Or, if the 2nd item in the "sub-arrays" has to be a integer: 或者,如果在“子阵”第二项必须是一个整数:

data = data2.map(function(e){
    var temp = e.split(',');
    temp[1] = parseInt(temp[1], 10);
    return temp;
});

result: 结果:

data === [["LOCAL",200], ["STD",120], ["ISD",200],
          ["VOIP",500], ["INCOMING",234], ["INET",104]]

However, possibly the best solution would be to form it into a object like this: 但是,最好的解决方案可能是将其形成如下所示的对象:

data = data2.reduce(function(obj, current){
    var temp = current.split(',');
    obj[temp[0]] = parseInt(temp[1], 10)
    return obj;
}, {});

result: 结果:

data === {"LOCAL":200, "STD":120, "ISD":200,
          "VOIP":500, "INCOMING":234, "INET":104};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM