JavaScript从字符串中生成键值对象的数组

时间:2014-11-25 11:43:23

标签: javascript

我有一个像这样的字符串

var information = 'name:ozil,age:22,gender:male,location:123 street';

我想创建一个像这样的键值对象数组

var informationList=[
    {
       'key':'name',
       'value':'ozil'
    },
    {
       'key':'gender',
       'value':'male'
    },
    {
       'key':'location',
       'value':'123 street'
    },

]

3 个答案:

答案 0 :(得分:4)

使用splitmap

var information = 'name:ozil,age:22,gender:male,location:123 street',
    result = information.split(',').map(function(item){
      var arr = item.split(':');
      
      return {
        key: arr[0],
        value: arr[1]
      }
    });


document.write(JSON.stringify(result));

答案 1 :(得分:1)

你可以试试这个:

var list = [];
var pairs = information.split(',');
for (var i = 0; i < pairs.length; i++) {
    var p = pairs[i].split(':');
    list.push({
        key: p[0],
        value: p[1]
    });
}

答案 2 :(得分:0)

这应该这样做:

var input = "name:ozil,age:22,gender:male,location:123 street";
var temp = input.split(",");
var result = [];
for(var i=0; i < temp.length; i++) {
    var temp2 = temp[i].split(":");
    result.push({key:temp2[0], value:temp2[1]});
}
console.log(result);

结果现在包含您指定的内容。