Andy's blog

If you always do what you've always done, you'll always get what you've always got.

0%

JS30挑戰-Day7-Array Cardio Day2

參考資料:
操作陣列的20種方法
Alex直播影片
JS時間取得方法筆記
Demo練習


some

回傳 true or false,差異僅在 every() 需完全符合,some() 僅需要部分符合

1
2
constans=people.some(y => newDate().getFullYear()-y.year>=19)
console.log(ans); //true

every

用來檢查所有陣列是否符合條件,僅會回傳一個值true或false

1
2
3
4
constans = people.every(function(year){
return newDate().getFullYear()-year.year>=19;
})
console.log(ans);

find

適合用來搜尋是否有符合資料,僅會回傳第一筆資料

1
2
constans = comments.find(id=>id.id===823423)
console.log(ans)

findIndex

尋找第一個符合條件的序號

1
2
constans = comments.findIndex(id => id.id === 823423 )
console.log(ans) //1

slice

目的:不要動到原始資料

1
2
3
4
constans = comments.slice(0,1)
constans2 = comments.slice(2)
constans3 = [...ans,...ans2]
console.log(ans3)

splice

1
2
constans = comments.splice(1,1);
console.log(ans)

今日影片重點整理

補充:複製物件介紹

影片講解

1
2
3
4
5
6
7
8
    let obj1 = { count: 1 };
let obj2 = obj1;
let obj3 = Object.assign({}, obj1)
obj1.count = 5;
let obj4 = JSON.parse(JSON.stringify(obj1))

console.log(obj1.count + obj2.count + obj3.count + obj4.count)
// 5+5+1+5 =16

心得

1.解構賦值概念
2.取得資料時盡量不要對原始資料進行更動
3.splice、slice比較
4.取得時間方法整理 JS時間取得方法筆記