使用对象值动态合并数组
Dynamically merge arrays using object values
我有以下数组:
var scores = [
{ user: "Bob", score: 19 },
{ user: "Harry", score: 27 },
{ user: "Janelle", score: 35 }
]
var ranks = [
{ name: "Bob", rank: 3 },
{ name: "Harry", rank: 2 },
{ name: "Janelle", rank: 1 }
]
如何合并这两个数组和 return 一个数组,如:
var merged = [
{ name: "Bob", rank: 3, score: 19 },
{ name: "Harry", rank: 2, score: 27 },
{ name: "Janelle", rank: 1, score: 35 }
]
匹配 scores
到第一个数组中的相应名称?
您可以按如下方式使用.map()
with spread syntax:
const scores = [
{ user: "Bob", score: 19 },
{ user: "Harry", score: 27 },
{ user: "Janelle", score: 35 }
];
const ranks = [
{ name: "Bob", rank: 3 },
{ name: "Harry", rank: 2 },
{ name: "Janelle", rank: 1 }
];
const result = scores.map(e => ({...e, rank: ranks.find(r => r.name === e.user).rank}));
console.log(result);
希望对您有所帮助!
我有以下数组:
var scores = [
{ user: "Bob", score: 19 },
{ user: "Harry", score: 27 },
{ user: "Janelle", score: 35 }
]
var ranks = [
{ name: "Bob", rank: 3 },
{ name: "Harry", rank: 2 },
{ name: "Janelle", rank: 1 }
]
如何合并这两个数组和 return 一个数组,如:
var merged = [
{ name: "Bob", rank: 3, score: 19 },
{ name: "Harry", rank: 2, score: 27 },
{ name: "Janelle", rank: 1, score: 35 }
]
匹配 scores
到第一个数组中的相应名称?
您可以按如下方式使用.map()
with spread syntax:
const scores = [
{ user: "Bob", score: 19 },
{ user: "Harry", score: 27 },
{ user: "Janelle", score: 35 }
];
const ranks = [
{ name: "Bob", rank: 3 },
{ name: "Harry", rank: 2 },
{ name: "Janelle", rank: 1 }
];
const result = scores.map(e => ({...e, rank: ranks.find(r => r.name === e.user).rank}));
console.log(result);
希望对您有所帮助!