這次的內容是JavaScript 陣列操作的幾個常見方法,特別是針對物件陣列的操作, some()
、every()
、find()
和 findIndex()
四種方法,接下來我們就來實際操作
作品實做
const people = [
{ name: "Wes", year: 1988 },
{ name: "Kait", year: 1986 },
{ name: "Irv", year: 1970 },
{ name: "Lux", year: 2015 },
];
const comments = [
{ text: "Love this!", id: 523423 },
{ text: "Super good", id: 823423 },
{ text: "You are the best", id: 2039842 },
{ text: "Ramen is my fav food ever", id: 123523 },
{ text: "Nice Nice Nice!", id: 542328 },
];
const isAdult = people.some(
(e) => new Date().getFullYear() - e.year >= 19
);
console.log({ isAdult });
some()
用來遍歷arr中的所有元素,當有一個元素通過檢測則會回傳布林值(true)
new Date().getFullYear()
函式為取得當下年份,減掉e.year ≥19(判斷是否滿19)
const everyIsAdult = people.every(
(e) => new Date().getFullYear() - e.year >= 19
);
console.log({ everyIsAdult });
every()
用來遍歷arr中的所有元素,當有全部元素通過檢測則會回傳布林值(true)
let findID = comments.find((e) => e.id === 823423);
console.log({ findID });
find()
會回傳第一個滿足所提供之測試函式的元素值
e.id === 823423
我們查找的條件是Id值符合823423則回傳元素
let findIndex = comments.findIndex((e) => e.id === 823423);
console.log(findIndex);
findIndex()
會回傳第一個滿足所提供之測試函式的元素值之Index,如果沒有符合的對象,將返回 -1 。
e.id === 823423
我們查找的條件是Id值符合823423則回傳元素index