[英]how to only return specific property form an array of objects in JavaScript
[英]How to return specific properties of objects in form of array in javascript
我有一個函數,該函數需要一個狗對象數組並返回特定屬性的數組
The code that I have tried
function Owner(dogs) {
dogs.map(value => {
if (value.breed === 'GermanShepherd') {
return value.owner;
}
}
一種選擇是使用reduce()
並檢查品種是否與search
變量相同(如果相同reduce()
,請使用concat()
添加到累加器中。
let arr = [{"name":"Beatrice","breed":"Lurcher","owner":"Tom"},{"name":"Max","breed":"GermanShepherd","owner":"Malcolm"},{"name":"Poppy","breed":"GermanShepherd","owner":"Vikram"}]; let search = 'GermanShepherd'; let result = arr.reduce((c, v) => v.breed === search ? c.concat(v.owner) : c, []); console.log(result);
您還可以使用filter
和map
組合。
let arr = [{"name":"Beatrice","breed":"Lurcher","owner":"Tom"},{"name":"Max","breed":"GermanShepherd","owner":"Malcolm"},{"name":"Poppy","breed":"GermanShepherd","owner":"Vikram"}] let search = 'GermanShepherd'; let result = arr.filter(o => o.breed === search).map(o => o.owner); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.