當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
详述JavaScript数组
生活随笔
收集整理的這篇文章主要介紹了
详述JavaScript数组
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
摘要
數(shù)組是JavaScript中的常用類型,本文詳述了數(shù)組的基本知識以及一些常用的數(shù)組方法,并對每種方法進(jìn)行了詳細(xì)解釋
數(shù)組定義
- 參數(shù)為一個時,表示數(shù)組的長度
- 參數(shù)為多個時,則表示數(shù)組元素
數(shù)組增刪
- arr(arr.length)=0; //在數(shù)組最后面添加元素
- push()/pop(); //在數(shù)組最后面增刪元素
- unshift()/shift(); //在數(shù)組最前面增刪元素
數(shù)組迭代
for...in,eg:for(i in arr){}
- 遍歷數(shù)組
- 會把數(shù)組原型鏈上的元素一同遍歷出來
- 是無序遍歷
二維數(shù)組
定義:
var arr=[[0,1],[0,1]]
稀疏數(shù)組
并不含有從0開始的連續(xù)索引,一般數(shù)組的length會比實際元素個數(shù)大。不連續(xù)的索引返回undefined,可利用此判讀。
數(shù)組方法
數(shù)組原型鏈上提供了大量方法
Array.prototype.join()
- 將數(shù)組轉(zhuǎn)為字符串,同時將傳入字符串插入每個元素中間,可通過此方法將字符串重復(fù)
Array.prototype.reverse()
- 將數(shù)組逆序,直接修改數(shù)組
Array.prototype.sort()
- 將數(shù)組排序,默認(rèn)按字母升序排列,直接修改數(shù)組
- 可按自定義規(guī)則排序,傳入比較函數(shù)
按正常數(shù)值相減的正負(fù)返回,是升序排列;按正常數(shù)值相減的正負(fù)符合取反,是降序排列.
傳入的a,b可以是對象或數(shù)組(但都是某個數(shù)組的元素),相減時再具體到數(shù)組的第幾個數(shù)值或?qū)ο蟮哪膫€屬性,最后會按結(jié)果對包含數(shù)組排序
Array.prototype.concat()
- 合并數(shù)組,不直接修改原數(shù)組,需通過返回值才能拿到結(jié)果
- 若傳入?yún)?shù)是一維數(shù)組,會被拉平
- 若傳入?yún)?shù)是二維數(shù)組,,會拉平最外第一維,元素數(shù)組格式不變
Array.prototype.slice(n,m)
- 獲取部分?jǐn)?shù)組,arr[n]到arr[m-1],即左閉右開
- Array.prototype.slice(n),從arr[n]到最后,包含最后的所有元素
- 若參數(shù)為負(fù)值,則表示由后往前的索引值,最后一個元素為-1
Array.prototype.splice()
- 刪除和添加部分?jǐn)?shù)組,對原數(shù)組直接修改
- 傳入?yún)?shù):
- 第一個:索引
- 第二個:刪除個數(shù) (可無)
- 后面:將添加的數(shù)組,在索引處添加 (可無)
Array.prototype.forEach(function(x,index,a){})
- 遍歷數(shù)組,對每個元素調(diào)用回調(diào)函數(shù)
- 回調(diào)函數(shù)可傳入三個參數(shù):元素的值,元素的索引,數(shù)組本身
E5S的新方法,IE9及以上支持,接下來都是
Array.prototype.map(function(x,index,a){})
- 數(shù)組映射,對每個元素按函數(shù)里的映射方式進(jìn)行映射,不直接修改原數(shù)組
Array.prototype.filter(function(x,index,a){})
- 數(shù)組過濾,按回調(diào)函數(shù)返回值的真假,過濾掉為真的元素,不直接修改原數(shù)組,通過返回值拿結(jié)果
Array.prototype.every(function(x,index,a){})
- 數(shù)組判斷,每一個元素,回調(diào)函數(shù)都返回真時,返回真。發(fā)現(xiàn)有不滿足的元素,就不繼續(xù)遍歷了
Array.prototype.some(function(x,index,a){})
- 數(shù)組判斷,存在元素,回調(diào)函數(shù)返回真時,返回真。發(fā)現(xiàn)有滿足的元素,就不繼續(xù)遍歷了
Array.prototype.reduce(function(x,y){})
- 數(shù)組元素累加,對數(shù)組元素逐個進(jìn)行操作,每次操作的結(jié)果將用于下一次操作
- 回調(diào)函數(shù)傳入?yún)?shù)
- 第一個:上次回調(diào)函數(shù)的返回值,第一次時為數(shù)組第一個元素
- 第二個:這次將操作的數(shù)組元素,第一次時為數(shù)組第二個元素
Array.prototype.indexOf(要查找的元素,開始查找的位置)
- 查找元素
- 返回值:首個被找到的元素在數(shù)組中的索引位置; 若沒有找到則返回 -1
Array.isArray(所要檢查的對象)
- 檢查對象是否為數(shù)組,是返回true,否則false
- 為構(gòu)造器上的方法
轉(zhuǎn)載于:https://www.cnblogs.com/rongmm/p/6278891.html
總結(jié)
以上是生活随笔為你收集整理的详述JavaScript数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop入门实例——WordCoun
- 下一篇: Flexible 弹性盒子模型之CSS