3 回答

TA貢獻1829條經驗 獲得超7個贊
您可以對數組進行后期處理并過濾虛假值。
const cars = [{ name: "Toyota", model: "Corolla" }, { name: "Toyota", model: "Supra" }, { name: "Toyota", model: "Rav4" }, { name: "Toyota" }];
const distinctModels = [...new Set(cars.map(car => car.model))].filter(Boolean);
console.log(distinctModels);

TA貢獻1798條經驗 獲得超7個贊
使用.hasOwnProperty來檢查,如果財產的對象或不存在
const cars = [{
"name": "Toyota",
"model": "Corolla"
},
{
"name": "Toyota",
"model": "Supra"
},
{
"name": "Toyota",
"model": "Rav4"
},
{
"name": "Toyota"
}
];
const distinctModels = []
cars.forEach(function(e){
e.hasOwnProperty('model')?distinctModels.push(e.model):false;
});
console.log(distinctModels);

TA貢獻1827條經驗 獲得超8個贊
您可以使用Array.prototype.flatMap在一個循環(huán)中完成它,當值不存在時返回一個空數組。
const cars = [{
"name": "Toyota",
"model": "Corolla"
},
{
"name": "Toyota",
"model": "Supra"
},
{
"name": "Toyota",
"model": "Rav4"
},
{
"name": "Toyota"
}
];
const distinctModels = [...new Set(cars.flatMap(car => car.model || []))];
console.log(distinctModels);
添加回答
舉報