一、數組遍歷
1.原生js方法
for(var i=0;i<arr.length;i++){
console.log(arr[i])
}
2.forEach/map
arr.forEach(function(i){
console.log(i)
})
arr.map(function(i){ console.log(i) })
3.for...of
ES6新增功能
for(let key of arr){
console.log(key);
}
4.for…in
for…in主要是為遍歷對象而設計的,不適用於遍歷數組。
遍歷數組時的缺點:
1. 數組的鍵名是數字,但是for…in循環是以字符串作為鍵名“0”、“1”、“2”等等。
2. for…in循環不僅遍歷數字鍵名,還會遍歷手動添加的其他鍵,甚至包括原型鏈上的鍵。
3. 某些情況下,for…in循環會以任意順序遍歷鍵名。
============================================================================
二、數組的一些常用方法
1、直接操作數組的:
shift( )
移除數組中的第一項,返回該項
unshitf( )
在數組前端添加任意個項,返回新數組的長度
push( )
在數組末尾添加任意個項,返回修改后數組的長度
pop( )
刪除數組最后一項,返回該項
reverse( )
反轉數組順序
splice(start, 要刪除的項,要插入的項)
對原數組進行刪除、插入、替換操作,返回刪除的項(如果沒有刪除,則返回空數組)
sort([compareFun])
根據某種規則排序,默認Unicode位點排序
2、不影響原數組,只返回新數組的:
toString( )
、valueOf( )
:都返回數組的以逗號分隔的字符串
join( )
返回數組的以指定分隔符分隔的字符串
concat( )
合並數組,返回合並后的新數組
slice( start, [end])
截取數組某一段值,slice( )若不傳值,則執行淺拷貝,start從0開始
map(callback[,thisArg])
讓數組通過某種計算,返回新的數組、
filter( callback[, thisArg])
篩選出數組中符合條件的項,組成新數組
reduce( callback[, thisArg])
讓數組中前項和后項做某種運算,並累計最終值
3、返回其他值的
forEach(callback[, thisArg])
讓數組中的每一項做一件事,返回undefined ie9+
every( callback[, thisArg])
檢驗數組中每一項是否符合條件,全部符合返回true
some( callback[, thisArg])
檢驗數組中是否有符合條件的項,存在返回true
============================================================================
三、數組及對象的深拷貝
### 版權申明:本文由objJs原創,允許轉載,但轉載必須附注首發鏈接。謝謝