深入理解js數組


 

一、數組遍歷

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


============================================================================

三、數組及對象的深拷貝

https://www.cnblogs.com/webrqy/p/9772893.html

 

### 版權申明:本文由objJs原創,允許轉載,但轉載必須附注首發鏈接。謝謝 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM