现有如下2个数组
var a = [{convertFld: "a"},{convertFld: "b"},{convertFld: "c"},{convertFld: "g"}]
var b = [{a:1,b:2,c:3,d:4,e:5}]
我想要得到
var c = [{a:1,b:2,c:3}]
用ES6的 Set 数据结构要怎么实现呢?
现有如下2个数组
var a = [{convertFld: "a"},{convertFld: "b"},{convertFld: "c"},{convertFld: "g"}]
var b = [{a:1,b:2,c:3,d:4,e:5}]
我想要得到
var c = [{a:1,b:2,c:3}]
用ES6的 Set 数据结构要怎么实现呢?
说的有的不太清楚
b
为啥是数组Set
啥关系啊,为啥要用Set
var a = [{convertFld: "a"},{convertFld: "b"},{convertFld: "c"},{convertFld: "g"}]
var b = [{a:1,b:2,c:3,d:4,e:5}]
// 这个
Object.values(a).filter(a=>Object.keys(b[0]).includes(a.convertFld)).map(a=>({[a.convertFld]:b[0][a.convertFld]})).reduce((a1,a2)=>({...a1,...a2}))
{a: 1, b: 2, c: 3}```
其实一个map
就能处理了,没理解你想用Set
起到什么作用?
var a = [{convertFld: 'a'}, {convertFld: 'b'}, {convertFld: 'c'}];
var b = [{a: 1, b: 2, c: 3, d: 4, e: 5}];
var c = b.map(d => a.reduce((o, k) => (!(o[k.convertFld] = d[k.convertFld]) || o), {}));
console.log(c)
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决