遍歷Array
可以采用下標循環,遍歷Map
和Set
就無法使用下標。為了統一集合類型,ES6標准引入了新的iterable
類型,Array
、Map
和Set
都屬於iterable
類型。
具有iterable
類型的集合可以通過新的for ... of
循環來遍歷。
<script>
【鍵-->鍵值】
【key-->value】
var arr=[
{
name : '余佳品',
age : "26"
},
{
name : '增利',
age : "25"
},
]
/*for in 是es5的只能拿到下標(鍵值)for ... in
循環由於歷史遺留問題,它遍歷的實際上是對象的屬性名稱。一個Array
數組實際上也是一個對象,它的每個元素的索引被視為一個屬性*/
for(item in arr){
console.log(item)//0 1 下標
}
/*for ... of它只循環集合本身的元素:相當於循環的鍵值value*/
for(item of arr){
console.log(item)//{name: "余佳品", age: "26"} {name: "增利", age: "25"}
}
/*當然最好用的還是這個,不光可以循環鍵還可以循環鍵值 最推薦,接受三個參數,第一個是value鍵值 第二個是key鍵,第三個元素是數組本身*/
arr.forEach(function (element, index, array) {
console.log(element,'****p1') //鍵值 {name: "余佳品", age: "26"}age: "26"name: "余佳品"__proto__: Object "****p1"
console.log(index,'****p2') //0 1 "****p2"
console.log(array,'****p3')//(2) [{…}, {…}] "****p3" 數組自己本身
})
</script>
還有一種方法是array.map方法
const array = [1, 3, 6, 9];
const newArray = array.map(
function
(value) {
return
value + 1;
});
console.log(newArray);
console.log(array);
|
結果:
[2, 4, 7, 10]
[1, 3, 6, 9]
1、.map()方法使用return,進行回調;其他方法可不需要。
2、.map()方法直接對數組的每個元素進行操作,返回相同數組長度的數組;其他方法可擴展數組的長度。
Array
有map()
和filter()
方法,可是Object沒有這些方法,注意區別
參考:廖雪峰的官方網站 https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450082788640f82a480be8481a8ce8272951a40970000