aaa 3333,bbb 5,ccc 10
首先我需要基于逗号进行拆分,我需要根据空间进行拆分以使其成为键值对...我如何在JavaScript中进行。
答案 0 :(得分:5)
var pairs = {};
var values = "aaa 3333,bbb 5,ccc 10".split(/,/);
for(var i=0; i<values.length; i++) {
var pair = values[i].split(/ /);
pairs[pair[0]] = pair[1];
}
JSON.stringify(pairs) ; //# => {"aaa":"3333","bbb":"5","ccc":"10"}
答案 1 :(得分:3)
使用split
方法:
var items = str.split(',');
for (var i = 0; i < items.length; i++) {
var keyvalue = items[i].split(' ');
var key = keyvalue[0];
var value = keyvalue[1];
// do something with each pair...
}
答案 2 :(得分:3)
这样的事情:
var str, arr1, arr2, i;
str = 'aaa 3333,bbb 5,ccc 10';
arr1 = str.split(/,/);
for (i=0 ; i<arr1.length ; i++) {
arr2 = arr1[i].split(/ /);
// The key is arr2[0]
// the corresponding value is arr2[1]
console.log(arr2[0] + ' => ' + arr2[1]);
}
答案 3 :(得分:2)
代码说了千言万语。
var str = "aaa 3333,bbb 5,ccc 10";
var spl = str.split(",");
var obj = {};
for(var i=0;i<spl.length;i++) {
var spl2 = spl[i].split(" ");
obj[spl2[0]] = spl2[1];
}
答案 4 :(得分:2)
var s = 'aaa 3333,bbb 5,ccc 10';
var tokens = s.split(',');
var kvps = [];
if (tokens != null && tokens.length > 0) {
for (var i = 0; i < tokens.length; i++) {
var kvp = tokens[i].split(' ');
if (kvp != null && kvp.length > 1) {
kvps.push({ key: kvp[0], value: kvp[1] });
}
}
}
答案 5 :(得分:2)
使用String.split()
:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split
var theString = 'aaa 3333,bbb 5,ccc 10';
var parts = theString.split(',');
for (var i=0; i < parts .length; i++) {
var unit = parts.split(' ');
var key = unit[0];
var value = unit[1];
}
答案 6 :(得分:0)
//这个线程需要多种多样......
function resplit(s){
var m, obj= {},
rx=/([^ ,]+) +([^,]+)/g;
while((m= rx.exec(s))!= null){
obj[m[1]]= m[2];
};
return obj;
}
var s1= 'aaa 3333,bbb 5,ccc 10';
var obj1=resplit(s1);
/* returned value: (Object)
{
aaa: '3333',
bbb: '5',
ccc: '10'
}
*/