摘要:方法方法還可以添加新屬性方法和兩者的主要區別在于他們的迭代方式推薦在循環對象屬性的時候使用在遍歷數組的時候使用循環出來的是循環出來的是是標準,是標準,兼容性可能存在些問題,請注意使用不能遍歷普通的對象,需要和搭配使用方法方法
方法1 -- for
var arr = [1,2,3,4,5,6,7,8,9] for(var i = 0; i方法2 -- for...in var arr = [1,2,3,4,5,6,7,8,9] for(var i in arr){ console.log(arr[i]) conosle.loh(arr[i] + "/" + i) // 還可以添加新屬性 }方法3 -- for...ofvar arr = [1,2,3,4,5,6,7,8,9] for(var i of arr){ console.log(i) }for...in 和 for...of 兩者的主要區別在于他們的迭代方式
推薦
在循環對象屬性的時候使用for in
在遍歷數組的時候使用for offor...in 循環出來的是key, for...of循環出來的是value
for...in 是ES5 標準,for...of 是ES6標準,兼容性可能存在些問題,請注意使用
for...of 不能遍歷普通的對象,需要和Object.keys() 搭配使用
方法4 -- forEach/* forEach方法:被傳遞給forEach的函數會在數組的每個元素上執行一次,元素作為參數傳遞給該函數 */ var arr = [1,2,3,4,5,6,7,8,9] arr.forEach(function(element,index){ console.log(element) console.log(element + "/" + index) })【!注意!】未賦值的值是不會在forEach循環迭代的,但是手動賦值為undefined的元素是會被列出的
var arr = [1,,3,undefined,5,6,7,8,9] arr.forEach(function(element,index){ console.log(element + "/" + index) })方法5 -- mapmap 遍歷數組,并通過callback對數組元素進行操作,并將所有操作結果放入數組中并返回該數組
var arr = [1,2,3,4,5,6,7,8,9] var arr2 = arr.map(function(item){ console.log(item ) })方法6 -- filterfilter()返回一個包含所有在回調函數上返回為true的元素新數組,回調函數在此擔任的是過濾器的角色,當元素符和條件,過濾器就返回true,而filter則會返回所有符合過濾條件的元素
var arr = ["aaa","bbb","ccc",1,2,3] var arr2 = arr.filter(function(item){ if(typeof item == "number"){ return item; } }) console.log(arr2);方法7 -- everyevery() 當數組中的每一個元素在callback上被返回true時就返回true(注意:要求每一個單元項都返回true時才為true)
var arr = ["aaa","bbb","ccc",1,2,3] var bol = arr.every(function(element){ if(typeof element == "string"){ return element; } }) console.log(bol); //falseevery()與filter()的區別是:后者會返回所有符合過濾條件的元素;前者會判斷是不是數組中的所有元素都符合條件,并且返回的是布爾值
方法8 -- somesome()只要數組中有一項在callback上就返回true
var arr = ["aaa","bbb","ccc",1,2,3] var arr = ["first","second","third" ,"fourth",3,5,8]; var bol = arr.some(function(element){ if(typeof element == "string"){ return element; } }) console.log(bol); //trueevery()與some()的區別是:前者要求所有元素都符合條件才返回true,后者要求只要有符合條件的就返回true
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105753.html
摘要:數組原理遍歷原理揭秘數組原理遍歷原理揭秘可見,數組其實已經改變了,但是遍歷出來的并沒有增加的哪一項。此時,我們也可以輸出一下當前指針位置數組原理遍歷原理揭秘數組原理遍歷原理揭秘數組指針停留在了位置上。 php中的中的數組跟js里面數組是不大一樣的。php中數組的下標可以整數也可以是字符串,而且數組中元素的順序不是由下標決定的,而是由添加元素的順序。數組基礎 $arr1 = array(...
摘要:中可以實現遍歷的數據類型主要是對象,其中包括普通對象與數組。遍歷器是一種接口,為各種不同的數據結構提供統一的訪問機制。實例五遍歷器對象實例五是的遍歷過程,通過手動調用其對象的方法實現信息獲取。為每個數組元素執行函數。 前言 ??將依據自身痛點學習,計劃對原生JavaScript寫一個系統,本文為第一篇,感興趣的同學可以關注個人公眾號:ZeroToOneMe,或者github博客,將持續...
摘要:循環方法方法不改變原數組方法會給原數組中的每個元素都按順序調用一次函數。篩選出過濾出數組中符合條件的項組成新數組代碼方法方法為數組中的每個元素執行一次函數,直到它找到一個使返回表示可轉換為布爾值的值的元素。 showImg(https://segmentfault.com/img/bV2QTD?w=1600&h=500); 前言 JavaScript 發展至今已經發展出多種數組的循環遍...
摘要:判斷是深拷貝對象還是數組如果要拷貝的對象的屬性依然是個復合類型,遞歸運用遞歸,當要拷貝的對象或者數組的屬性依然是個對象或者數組時,遞歸調用。遍歷對象聊完了深拷貝和淺拷貝,接下來說一下遍歷。 在js這門語言中,數據存放在堆中,而數據的引用的存放在棧中。 淺拷貝 我們說的淺拷貝,指的是,引用地址的拷貝,棧中兩塊不同的引用地址都指向了堆中同樣一塊區域。所以,我們通過一個地址修改了堆中的數據,...
摘要:如圖遍歷數組遍歷數組元素并以某種方式處理每個元素是一個常見的操作。如圖不過,里的功能比較強大,可以遍歷而且返回值是的則被省略掉總結遍歷對象,遍歷出來的是鍵名,而不是鍵值,參數必須是對象。 可能是由于職業的關系,下班之后完全不想Open PC,但很多知識點有必要自己做個小小總結。本人之前對原生Array和Object完全沒概念。 遍歷對象的方法: Object.keys(Object)...
閱讀 6899·2021-09-22 15:36
閱讀 5699·2021-09-02 10:20
閱讀 1875·2019-08-30 15:44
閱讀 2657·2019-08-29 14:06
閱讀 1160·2019-08-29 11:17
閱讀 1605·2019-08-26 14:05
閱讀 3100·2019-08-26 13:50
閱讀 1558·2019-08-26 10:26