[英]Small iteration in 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 arr = str.split(';'), obj = {}, i = 0;
for(; i < arr.length; i++){
var x = arr[i].split(':');
obj[x[0]] = x[1]
};
console.log(obj);
x = null;
// thanks to @Rayon for edit
您可以使用正则表达式来执行此操作。
var str = "one:apple;two:orange;three:bananna;four:pears" var obj = '{"'+ str.replace(/;/g, ',').replace(/[:+,]/g, '"$&"') + '"}' console.log(JSON.parse(obj))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.