根据另一个属性值对 JavaScript 对象标题数组进行映射,形成新的数组
假设我们有一个如下所示的对象数组 −
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
}];我们需要编写一个函数,该函数接受此数组,对其进行映射并返回一个字符串数组,其中特定对象的国家/地区名称重复“count”次。
因此,此对象函数的输出应为 −
['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' ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP