判斷某個對象是否是數(shù)組: instanceof、Array.isArray()
對于一個網(wǎng)頁或者一個全局作用域可以使用instanceof操作符。
if(value instanceof Array){ //判斷value是否是數(shù)組
}
instanceof操作符它假設(shè)只有一個全局執(zhí)行環(huán)境,如果網(wǎng)頁包含多個框架則使用ECMAScript5新增的Array.isArray()方法。
if(Array.isArray(value)){//判斷value是否是數(shù)組
}
Array.isArray()方法支持的瀏覽器有IE9+、Firefor 4+、Safari5+、Opera 10.5+、Chrome。
如果要在未實(shí)現(xiàn)這個方法中的瀏覽器中檢查數(shù)組,則使用:
if(Object.prototype.toString.call(value)=="[object Array]"){
}
將數(shù)組轉(zhuǎn)換為字符串: toLocaleString()、toString()、valueOf()、join()
添加和移除數(shù)組元素方法:push()、pop()、unshift()、shift()
push()方法可以接受任意數(shù)量的參數(shù),把他們逐個加到數(shù)組末尾,并且返回?cái)?shù)組修改后的數(shù)組長度。
pop()方法從數(shù)組末尾移除最后一項(xiàng),然后返回移除的項(xiàng)。
unshift()方法在數(shù)組前端添加任意數(shù)量的參數(shù)并返回新數(shù)組長度。
shift()方法能夠移除數(shù)組中第一個項(xiàng)并返回移除的項(xiàng)。
排序方法:reverse()和sort()
reverse()方法會反轉(zhuǎn)數(shù)組項(xiàng)順,操作數(shù)組本身。
sort()方法默認(rèn)按升序排列數(shù)組項(xiàng),操作數(shù)組本身。
sort()方法還可以傳入一個比較函數(shù)。
比較函數(shù)在第一個參數(shù)應(yīng)該位于第二個之前則返回一個負(fù)數(shù),如果兩個參數(shù)相等則返回0,第一個參數(shù)應(yīng)該位于第二個之后則返回一個正數(shù)。
操作方法:concat()、slice()、splice()
concat()方法用于連接兩個或多個數(shù)組。該方法不會改變現(xiàn)有的數(shù)組,而僅僅會返回被連接數(shù)組的一個副本。返回一個新的數(shù)組。
slice() 方法可從已有的數(shù)組中返回選定的元素。返回一個新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
splice() 方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目。操作數(shù)組本身。
第一個參數(shù):起始位置、第二個參數(shù):截取的個數(shù)、第三個參數(shù):追加的新元素。
位置方法:indexOf()、lastIndexOf()
ECMAScript5提供方法支持瀏覽器:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome
indexOf() 方法可返回某個指定的字符串值在字符串中首次出現(xiàn)的位置。
lastIndexOf() 方法可返回一個指定的字符串值最后出現(xiàn)的位置,在一個字符串中的指定位置從后向前搜索。
一個參數(shù)時:表示要查找的值,返回索引位置(從0開始)、兩個參數(shù)時:第一個參數(shù)表示起始位置,第二個參數(shù)表示要查找的值。
alert(numbers.IndexOf(4,4));//5
alert(numbers.lastIndexOf(4,4));//3
迭代方法:every()、filter()、forEach()、map()、some()
ECMAScript5提供方法支持瀏覽器:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome
every():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對每一項(xiàng)都返回true,則返回true。
filter():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會返回true的項(xiàng)組成的數(shù)組。
forEach():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),這個方法沒有返回值。
map():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。
some():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對任一項(xiàng)返回true,則返回true。
以上函數(shù)都不會修改數(shù)組中包含的值。
//map()
var mapResult=numbers.map(function(item,index,array){
return (item*2);
})
alert(mapResult);//[2,4,6,8,10,8,6,4,2]
//forEach()
numbers.forEach(function(item,index,array){
//執(zhí)行操作 無返回值
})
歸并方法:reduce()、reduceRight()
ECMAScript5提供方法支持瀏覽器:IE9+、Firefox 3+、Safari 4+、Opera 10.5+、Chrome
兩個方法都會迭代數(shù)組的所以項(xiàng),然后構(gòu)建一個最終返回的值。reduce()方法從數(shù)組第一項(xiàng)開始,reduceRight()方法從數(shù)組最后開始。
以上就是本文的全部內(nèi)容了,希望大家能夠喜歡。
|
新聞熱點(diǎn)
疑難解答