根据其他属性值JavaScript将对象标题的map()数组转换为新数组
假设我们有一个这样的对象数组-
const arr = [{
country: "cananda",
count: 2
}, {
country: "jamaica",
count: 2
}, {
country: "russia",
count: 1
}, {
country: "india",
count: 3
}, {
country: "spain",
count: 2
}, {
country: "portugal",
count: 1
}, {
country: "italy",
count: 1
}];我们需要编写一个函数,该函数接受此数组,对其进行映射并返回一个字符串数组,该字符串的国家/地区名称对于每个特定对象重复“计数”次数。
因此,此对象的函数输出应为-
['canada', 'canada', 'jamaica', 'jamaica', 'russia', 'india', 'india', 'india','spain', 'spain','portugal', 'italy']
让我们为该函数编写代码。我们将在这里使用Array.prototype.reduce()方法-
示例
const arr = [{
country: "canada",
count: 2
}, {
country: "jamaica",
count: 2
}, {
country: "russia",
count: 1
}, {
country: "india",
count: 3
}, {
country: "spain",
count: 2
}, {
country: "portugal",
count: 1
}, {
country: "italy",
count: 1
}];
const repeatCount = (arr) => {
return arr.reduce((acc, val) => {
let { count, country } = val;
while(count--){
acc.push(country);
}
return acc;
}, []);
};
console.log(repeatCount(arr));输出结果
控制台中的输出将为-
[ 'canada', 'canada', 'jamaica', 'jamaica', 'russia', 'india', 'india', 'india', 'spain', 'spain', 'portugal', 'italy' ]
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短