1. 程式人生 > >JS中陣列與物件的遍歷方法例項

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
});//歡迎加入全棧開發交流圈一起學習交流:864305860
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
});//歡迎加入全棧開發交流圈一起學習交流:864305860
console.log(xx)       //false

7、reduce函式,為陣列中的每一個元素依次執行回撥函式
語法:

arr.reduce(callback, initialValue)
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){
 return previousValue + currentValue;
});//歡迎加入全棧開發交流圈一起學習交流:864305860

callback:執行陣列中每個值的函式,包括四個引數;
previousValue:上一次呼叫回撥返回的值,或者是提供的初始值(initialValue);
currentValue

:當前被處理的值;
index:當前元素在陣列中的索引;
array:呼叫reduce的陣列;
initialValue:作為第一次呼叫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);//歡迎加入全棧開發交流圈一起學習交流:864305860
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])
}//歡迎加入全棧開發交流圈一起學習交流:864305860

結語

感謝您的觀看,如有不足之處,歡迎批評指正。
本次給大家推薦一個免費的學習群,裡面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。
對web開發技術感興趣的同學,歡迎加入Q群:864305860,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。
最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。