我正在嘗試從陣列中獲取資料,如下所示:
[羅馬、米蘭、巴塞羅那、馬德里]
我的大腦似乎要停電了……我該怎么做?
const countries = {
italy: {
id: 1,
cities: ["Rome", "Milan"],
},
spain: {
id: 2,
cities: ["Barselona", "Madrid"],
}
};
function getCitiesDates(data) {
}
uj5u.com熱心網友回復:
使用Object#values
和Array#flatMap
:
function getCitiesDates(data) {
return Object.values(data).flatMap(({ cities = [] }) => cities);
}
const countries = {
italy: { id: 1, cities: ["Rome", "Milan"] },
spain: { id: 2, cities: ["Barselona", "Madrid"] }
};
console.log( getCitiesDates(countries) );
uj5u.com熱心網友回復:
你可以在一行中得到它Object.keys(data).flatMap(c => data[c].cities);
const countries = {
italy: {
id: 1,
cities: ["Rome", "Milan"],
},
spain: {
id: 2,
cities: ["Barselona", "Madrid"],
}
};
function getCitiesDates(data) {
return Object.keys(data).flatMap(c => data[c].cities);
}
console.log(getCitiesDates(countries))
uj5u.com熱心網友回復:
解決它的一種方法是使用 Object.keys(),回圈鍵,然后映射城市。
像這樣的東西:
const keys = Object.Keys(countries);
const cities = keys.flatMap(key => conutries[key].cities)
console.log(cities) // [Rome, Milan, Barselona, Madrid]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/506279.html
標籤:javascript 数组 目的