111網頁前端設計工程師培訓班
- Array.from():從類陣列(array-like)或是可迭代(iterable)物件建立一個新的 Array 實體。
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/from function isAtLeastOneChecked(name) { let checkboxes = Array.from(document.getElementsByName(name)); return checkboxes.some(function(item) { return item.checked; }); } -
Array.prototype.some()
some() 與 every() 非常接近,都是回傳 true or false,差異僅在 every() 需完全符合,some() 僅需要部分符合。
function isAtLeastOneChecked(name) { let checkboxes = Array.from(document.getElementsByName(name)); return checkboxes.some(function(item) { return item.checked; }); }
參考:https://www.casper.tw/javascript/2017/06/29/es6-native-array/#Array-prototype-some
用來判斷「複選」中至少要選一個
-
Array.prototype.filter()
filter() 會回傳一個陣列,其條件是 return 後方為 true 的物件,很適合用在搜尋符合條件的資料。
參考:https://www.casper.tw/javascript/2017/06/29/es6-native-array/#Array-prototype-filter
若原陣列為二維陣列,那回傳也是二維陣列 -
Array.prototype.find()
find() 與 filter() 很像,但 find() 只會回傳一次值,且是第一次為 true 的值。
-
Array.prototype.forEach()
forEach 是這幾個陣列函式最單純的一個,不會額外回傳值,只單純執行每個陣列內的物件或值。
-
Array.prototype.map()
使用 map() 時他需要回傳一個值,他會透過函式內所回傳的值組合成一個陣列。
如果不回傳則是 undefined
回傳數量等於原始陣列的長度
這很適合將原始的變數運算後重新組合一個新的陣列。 -
Array.prototype.every()
every() 可以檢查所有的陣列是否符合條件,這僅會回傳一個值 true or false,可以用來檢查陣列中的內容是否符合特定條件。
-