Day7 Array Cardio (2)

Demo

這周也是針對陣列的操作做練習,所以沒有預覽圖!
主要看程式碼和console.log

這次會用到的陣列的操作方式有:

白話:陣列中至少有一個符合條件就回傳true;沒有就false

白話:陣列中是不是每個都符合條件,是就回true;沒有就false

白話:去陣列中找到第一個滿足條件的值就回這筆;都找不到就undefined。

白話:承上,找到那個值是在陣列中的第幾個(序列)。如果沒有符合的對象,將回傳 -1 。

白話:從陣列中刪除第index到N個之後的這些值。所以(index,N)就是把index這位置刪掉。如果沒輸入N,從index開始之後的都會被刪掉。

更多操作方法介紹

進入主題

我們有兩筆資料:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 }
];

第一題

is at least one person 19 or older?
判斷陣列中是否有任一年齡大於19的人。

1
2
const result = people.some(who=>new Date().getFullYear() - who.year >= 19)
// console.log(result) ==> true

記得箭頭涵式如果大括號{}要補上return

第二題

is everyone 19 or older?
判斷陣列中是否每個人的年齡都大於19

1
2
const result = people.every(who=>new Date().getFullYear() - who.year >= 19)
// console.log(result) ==> false

第三題

find the comment with the ID of 823423
找出符合ID為823423的物件:

1
2
const result = comments.find(comment=>comment.id === 823423)
// console.log(result) ==> {text: "Super good", id: 823423}

第四題

Find the comment with this ID
找出符合ID為823423的物件元素在陣列中的Index

1
2
3
4
const result = comments.findIndex(comment=>
comment.id === 823423
)
// console.log(result) ==> 1

第五題

delete the comment with the ID of 823423
找出符合ID為823423的物件元素在陣列中的Index並刪除它

1
2
3
4
const result = comments.findIndex(comment=>
comment.id === 823423
)
comments.splice(result,1)

刪除後我們再console.log(comments)會發現823423這筆已經被我們移除

這次的陣列操作方法反而比day4的簡單多了,day4真的滿重要的可以再回去複習一下。

0%