[英]How to map array of objects to key-values?
在JS中,我有一个数组A = [{k:"a",v:3},{k:"b",v:4}]
由对象组成,定义了键值。 我想生成数组B
:
let B =
((A)=>{
let B=[];
for(let i of A)
B[i.k]=i.v;
return B;
})(A);
这样就将A
的对象键k
映射到B
的键,并将值v
映射为其值。 通过数组mapreduce函数更容易实现吗? 您能帮我正确的语法吗? 因此,B(对于我们的示例)将是:
let B = [];
B["a"]=3;
B["b"]=4;
console.log( B );
[ a: 3, b: 4 ]
您可以将Object.fromEntries
与键/值对的映射数组一起使用。
var array = [{ k: "a", v: 3 }, { k: "b", v: 4 }], object = Object.fromEntries(array.map(({ k, v }) => [k, v])); console.log(object);
您可以删除IIFE并使用
const B = {};
for (const {k, v} of A)
B[k] = v;
reduce
解决方案也是可能的,但不够简洁:
const B = A.reduce((acc, {k, v}) => {
acc[k] = v;
return acc;
}, {});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.