数组的一些与遍历相关的方法总结
Array.prototypr.every():為數組中的每一個元素執行一次callback函數,直到它找到一個使callback返回false的元素。
  如果找到一個這樣的元素,every方法會立即返回false,否則會為每一個元素返回true,every也會返回true。callback被調用時傳入三個參數:元素值,元素的索引,原數組。callback只會為那些已經被賦值的索引調用,不會為那些被刪除或從來沒被賦值的索引調用。every不會改變原數組??諗到M返回true。
  語法:arr.every(callback[, thisArg])
Array.prototype.filter():創建一個新數組,其包含通過所提供函數實現的測試的所有元素。
語法:var new_array = arr.filter(callback[, thisArg])
function isBigEnough(value) { return value >= 10; }var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);// filtered is [12, 130, 44]// ES6 wayconst isBigEnough = value => value >= 10;let [...spread]= [12, 5, 8, 130, 44];let filtered = spread.filter(isBigEnough);// filtered is [12, 130, 44]filter為數組中的每個元素調用一次callback函數,并利用所有使得callback返回true或等價于true的值的元素創建一個新數組。callback只會在已經賦值的索引上被調用,對于那些已經被刪除或者從來未被賦值的索引不會被調用。那些沒有通過callback測試的元素會被跳過,不會包含在新數組中。filter 不會改變原數組,它返回過濾后的新數組。
Array.prototype.forEach():對數組的每個元素執行一次提供的函數。該方法沒有返回一個新數組,也沒有返回值!
  語法:
//或
array.forEach(callback[, thisArg])
Eg:
const arr = ['a', 'b', 'c'];arr.forEach(function(element) {console.log(element); });arr.forEach( element => console.log(element));// a // b // c  forEach方法按升序為數組中含有效值的每一項執行一次callback函數,那些已刪除或者未初始化的項將被跳過(但不包含值為undefined的項)。沒有辦法終止或跳出forEach循環,除了拋出一個異常。
  如果數組在迭代時被修改了,則其它元素會被跳過:
Array.prototype.map():創建一個新數組,其結果是該數組中的每個元素都調用一個函數后返回的結果。
  語法:
Eg:
// ES6 let numbers = [1, 5, 10, 15]; let doubles = numbers.map( x => x ** 2);// doubles is now [1, 25, 100, 225] // numbers is still [1, 5, 10, 15]let numbers = [1, 4, 9]; let roots = numbers.map(Math.sqrt); // roots is now [1, 2, 3] // numbers is still [1, 4, 9]map方法會給原數組中的每個元素都按順序調用一次callback函數。callback每次執行后的返回值(包括undefined)組合起來形成一個新數組。callback函數只會在有值的索引上被調用,那些從來沒被賦過值或者使用delete刪除的索引則不會被調用。
Array.prototype.reduce():reduce()方法對累加器和數組中的每個元素(從左到右)應用一個函數,將其減少為單個值。
var sum = [0, 1, 2, 3].reduce(function (a, b) { return a + b; }, 0); // sum is 6//ES6 var total = [ 0, 1, 2, 3 ].reduce( ( acc, cur ) => acc + cur, 0 );
Array.prototype.some():some() 方法測試數組中的某些元素是否通過由提供的函數實現的測試。
  some 為數組中的每一個元素執行一次 callback 函數,直到找到一個使得 callback 返回一個“真值”(即可轉換為布爾值 true 的值)。如果找到了這樣一個值,some 將會立即返回 true。否則,some 返回 false。callback 只會在那些”有值“的索引上被調用,不會在那些被刪除或從來未被賦值的索引上調用。與Array.prototypr.every()是相對的,參考Array.prototypr.every()即可。
轉載于:https://www.cnblogs.com/zhengxj1991/p/9100470.html
總結
以上是生活随笔為你收集整理的数组的一些与遍历相关的方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: JS 日期对象常用函数(时间常用函数、日
 - 下一篇: centos7设置mongodb远程连接