您好,登錄后才能下訂單哦!
本文實例講述了JS中數組與對象的遍歷方法。分享給大家供大家參考,具體如下:
一、數組的遍歷:
首先定義一個數組
arr=['snow','bran','king','nightking'];
1、for
循環,需要知道數組的長度;
2、foreach
,沒有返回值,可以不知道數組長度;
arr.forEach(function(ele,index){ console.log(index); console.log(ele) })
3、map
函數,遍歷數組每個元素,并回調操作,需要返回值,返回值組成新數組,原數組不變;
var newarr=arr.map(function(i){ return "hello "+i }); console.log(newarr)
4、filter
函數:過濾通過條件的元素組成一個新數組,原數組不變;
var newarr=arr.filter(function(i){ return i == "bran" }); console.log(newarr)
5、some
函數,遍歷數組中是否有符合條件的函數,返回布爾值;
var yy=arr.some(function(i){ return i.length>4 }); console.log(yy) //true
6、every
函數,遍歷數組是否每個元素都符合條件,返回布爾值;
var xx=arr.every(function(i){ return i.length>4 }); console.log(xx) //false
7、reduce
函數,為數組中的每一個元素依次執行回調函數
語法:
arr.reduce(callback, initialValue)
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){ return previousValue + currentValue; });
callback
:執行數組中每個值的函數,包括四個參數;
例如:
var total = [0, 1, 2, 3].reduce(function(a, b) { return a + b; }); // total == 6 var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) { return a.concat(b); }); // flattened is [0, 1, 2, 3, 4, 5]
要提供initialValue
的話:
var total = [0, 1, 2, 3].reduce(function(a, b) { return a + b; },4); console.log(total); //10
二、對象的遍歷
var obj={snow:1,bran:2,king:3,nightking:4}; for(let i in obj){ console.log(i+','+obj[i]) }
in
也可以用來遍歷數組,不過i
對應于數組的key
值:
for(let i in arr){ console.log(i+','+arr[i]) }
PS:這里再為大家推薦一款JS數組遍歷方式分析對比工具供大家參考:
在線JS常見遍歷方式性能分析比較工具:http://tools.jb51.net/aideddesign/js_bianli
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《javascript面向對象入門教程》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。