您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何使用js數組forEach”,在日常操作中,相信很多人在如何使用js數組forEach問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用js數組forEach”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、forEach()類似于map(),它還將每個元素依次作用于傳入函數,但不會返回新的數組。
2、forEach()常用于遍歷數組,用于調用數組的每一個元素,并將其傳遞給回調函數。傳輸函數不需要返回值。
實例
var arr=[7,4,6,51,1]; try{arr.forEach((item,index)=>{ if (item<5) { throw new Error("myerr")//創建一個新的error message為myerr } console.log(item)//只打印7 說明跳出了循環 })}catch(e){ console.log(e.message); if (e.message!=="myerr") {//如果不是咱們定義的錯誤扔掉就好啦 throw e } }
知識點擴展:
手寫 forEach
forEach()
方法對數組的每個元素執行一次提供的函數
arr.forEach(callback(currentValue [, index [, array]])[, thisArg]);
callback
currentValue
數組中正在處理的當前元素。
index 可選
數組中正在處理的當前元素的索引。
array 可選
forEach() 方法正在操作的數組。
thisArg 可選
可選參數。當執行回調函數 callback 時,用作 this 的值。
沒有返回值
如果提供了一個 thisArg 參數給 forEach
函數,則參數將會作為回調函數中的 this
值。否則 this
值為 undefined。回調函數中 this
的綁定是根據函數被調用時通用的 this
綁定規則來決定的。
let arr = [1, 2, 3, 4]; arr.forEach((...item) => console.log(item)); // [1, 0, Array(4)] 當前值
function Counter() { this.sum = 0; this.count = 0; } // 因為 thisArg 參數(this)傳給了 forEach(),每次調用時,它都被傳給 callback 函數,作為它的 this 值。 Counter.prototype.add = function(array) { array.forEach(function(entry) { this.sum += entry; ++this.count; }, this); // ^---- Note }; const obj = new Counter(); obj.add([2, 5, 9]); obj.count; // 3 === (1 + 1 + 1) obj.sum; // 16 === (2 + 5 + 9)
每個數組都有這個方法
回調參數為:每一項、索引、原數組
Array.prototype.forEach = function(fn, thisArg) { var _this; if (typeof fn !== "function") { throw "參數必須為函數"; } if (arguments.length > 1) { _this = thisArg; } if (!Array.isArray(arr)) { throw "只能對數組使用forEach方法"; } for (let index = 0; index < arr.length; index++) { fn.call(_this, arr[index], index, arr); } };
到此,關于“如何使用js數組forEach”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。