iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
Modern Web

JavaScript 筆記 2 版系列 第 18

JavaScript Day18 - 陣列操作(filter、find、findIndex)

  • 分享至 

  • twitterImage
  •  

filter

  • filter() 會建立一個新的陣列,其內容為原陣列的每一個元素經由回呼函式判斷後所回傳的結果之集合
    • 可以看到是回傳一個新的陣列,所以原本的陣列不會改變
    • 可以搭配箭頭函式來使用
    • 需要有回傳值 return
  • map() 比,map() 是回傳運算結果,陣列大小一樣,filter() 回傳判斷 true 的值,陣列大小可能不同
const arr = [1, 2, 3, 4];

// filter
const filter1 = arr.filter(x => x>2);

// map
const map1 = arr.map(x => x>2);

console.log(filter1); // [3, 4]
console.log(map1); // [false, false, true, true]

參考資料

Array.prototype.filter()
JavaScript 陣列處理方法 [filter(), find(), forEach(), map(), every(), some(), reduce()]
JavaScript Array filter() (篩選陣列元素)

find、findIndex

  • find:回傳符合條件的第一個值,若無滿足條件則回傳 undefined
  • findIndex:回傳符合條件的第一個值的順序,若無滿足條件則回傳 -1
const arr = [1, 2, 3, 4];

// find
const find1 = arr.find(x => x>2);
const find2 = arr.find(x => x>5);

// findindex
const findindex1 = arr.findIndex(x => x>2);
const findindex2 = arr.findIndex(x => x>5);

console.log(find1); // 3
console.log(find2); // undefined
console.log(findindex1); // 2
console.log(findindex2); // -1

參考資料

Array.prototype.find()
Array.prototype.findIndex()
JavaScript 陣列處理方法 [filter(), find(), forEach(), map(), every(), some(), reduce()]

次回

預計開始說明 AJAX 了


上一篇
JavaScript Day17 - 陣列操作(map)
下一篇
JavaScript Day19 - AJAX(1)
系列文
JavaScript 筆記 2 版31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言