嘿家伙我有一个小问题。javascript中的小迭代
有人可以告诉我怎样才能把这个字符串分成json格式的数据吗?
one:apple;two:orange;three:bananna;four:pears
看起来像这样
{
one: apple,
two: orange,
three: bananna,
four: pears
}
嘿家伙我有一个小问题。javascript中的小迭代
有人可以告诉我怎样才能把这个字符串分成json格式的数据吗?
one:apple;two:orange;three:bananna;four:pears
看起来像这样
{
one: apple,
two: orange,
three: bananna,
four: pears
}
var str = "one:apple;two:orange;three:bananna;four:pears";
var obj = {};
str.split(';').forEach(function(el) {
var x = el.split(':');
obj[x[0]] = x[1];
});
console.log(obj);
或者使用Array#reduce
comma operator
评估它的每个操作数(从左到右)并返回最后一个操作数的值。
var str = "one:apple;two:orange;three:bananna;four:pears";
var obj = str.split(';').reduce(function(a, b) {
var x = b.split(':');
return a[x[0]] = x[1], a;
}, {});
console.log(obj);
您可以使用正则表达式来做到这一点。
var str = "one:apple;two:orange;three:bananna;four:pears"
var obj = '{"'+ str.replace(/;/g, ',').replace(/[:+,]/g, '"$&"') + '"}'
console.log(JSON.parse(obj))
谢谢!一直在挣扎这么久=] –
@VietLe - - 我很高兴它帮助! _快乐编码_ – Rayon
@Rayon [击败我](https://jsfiddle.net/3c7x1jws/) –