我有一个包含多个对象的数组,
[{Reinvent:24},{Reorganize:18},{Reduce:36},{Reimagine:30}]我正在寻找以下格式的输出仅使用以下记分表,
{Reinvent:24,Reorganize:18,Reduce:36,Reimagine:30}发布于 2016-08-18 15:59:48
您可以使用_
var res = _.reduce(arr, function(acc, el) {
for (var key in el) {
acc[key] = el[key];
}
return acc;
}, {});
var arr = [{Reinvent:24},{Reorganize:18},{Reduce:36},{Reimagine:30}];
var res = _.reduce(arr, function(acc, el) {
for (var key in el) {
acc[key] = el[key];
}
return acc;
}, {});
console.log(res);<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
发布于 2016-08-18 15:58:27
这应该是你想做的事:
var result = _.extend.apply({}, data);您可以传递任意数量的源参数到下划线的extend函数。为了利用这一点,我们可以使用Javascript的apply函数作为数组提供参数。
另外,您也可以使用es6的spread operator。
var result = _.extend({}, ...data);
var data = [{Reinvent:24},{Reorganize:18},{Reduce:36},{Reimagine:30}];
var result = _.extend.apply({}, data);
document.getElementById('result').textContent = JSON.stringify(result);<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<p>
<pre id="result"></pre>
</p>
https://stackoverflow.com/questions/39021838
复制相似问题