我想转换:
[ { foo: 'media' }, { article: 'article' } ]
Run Code Online (Sandbox Code Playgroud)
至:
[{foo: 'media', article: 'article'}]
Run Code Online (Sandbox Code Playgroud)
我试过了 :
var newdata=[ { foo: 'media' }, { article: 'article' } ].reduce(function(p, c, i, array) {
return p[Object.keys(c)[0]]=c[Object.keys(c)[0]]
}, {});
Run Code Online (Sandbox Code Playgroud)
但它返回"文章"我做错了吗?
Reduce希望您返回返回的部分结果,以便迭代以下项目.因此,以下代码将起作用:
var newdata=[ { foo: 'media' }, { article: 'article' } ].reduce(function(p, c, i, array) {
// Add item to the array
p[Object.keys(c)[0]]=c[Object.keys(c)[0]];
// And return back the object to reduce into
return p;
}, {});
Run Code Online (Sandbox Code Playgroud)
哪个输出:
> newdata
Object {foo: "media", article: "article"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |