基于逗号分割,然后在JavaScript中分隔空格

时间:2011-04-06 11:40:17

标签: javascript

aaa 3333,bbb 5,ccc 10

首先我需要基于逗号进行拆分,我需要根据空间进行拆分以使其成为键值对...我如何在JavaScript中进行。

7 个答案:

答案 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'
}

*/