JS陣列物件以屬性的值來找尋的方法find&filter
JavaScript 中的陣列內的物件如下,若要以屬性: b 的值:6 來找出該陣列,有兩種方法。
const jsObjects = [
{a: 1, b: 2},
{a: 3, b: 4},
{a: 5, b: 6},
{a: 7, b: 8}
]
方法一: 使用 Array.prototype.filter()
const jsObjects = [
{a: 1, b: 2},
{a: 3, b: 4},
{a: 5, b: 6},
{a: 7, b: 8}
]
let result = jsObjects.filter(obj => {
return obj.b === 6
})
結果回傳一個陣列,若沒找到則會回傳一個空陣列 []。
[
{ "a": 5, "b": 6 }
]
方法二: 使用 Array.prototype.find()
const jsObjects = [
{a: 1, b: 2},
{a: 3, b: 4},
{a: 5, b: 6},
{a: 7, b: 8}
]
let result = jsObjects.find(obj => {
return obj.b === 6
})
console.log(result)
結果回傳一個物件,若沒找到則會回傳 undefined。
{ "a": 5, "b": 6 }
參考: Get JavaScript object from array of objects by value of property
發佈留言