[英]Array of key/value pairs to object
I want to change this 我想改变这个
var data = [60, rose, 40, rose1, 20, rose2];
to this 对此
var data: [{
value: 60,
name: 'rose'
}, {
value: 40,
name: 'rose1'
}, {
value: 20,
name: 'rose2'
}];
You can do it this way: 你可以这样做:
var data = [60, "rose", 40, "rose1", 20, "rose2"] var dataObj = [] for (var i = 0; i < data.length; i+=2) { dataObj.push({ value: data[i], name: data[i + 1] }) } // Demo Output document.write(JSON.stringify(dataObj))
Just for the completeness, works even for uneven items: 只是为了完整性,即使对于不均匀的物品也是如此:
var data = [60, "rose", 40, "rose1", 20, "rose2", 30], object = data.reduce(function (r, a, i, d) { if (i % 2) { r[d[i - 1]] = a; } return r; }, {}); document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.