JavaScript 中有關(guān)數(shù)組對(duì)象的方法(詳解)
JS 處理數(shù)組多種方法
js 中的數(shù)據(jù)類型分為兩大類:原始類型和對(duì)象類型。
原始類型包括:數(shù)值、字符串、布爾值、null、undefined
對(duì)象類型包括:對(duì)象即是屬性的集合,當(dāng)然這里又兩個(gè)特殊的對(duì)象----函數(shù)(js中的一等對(duì)象)、數(shù)組(鍵值的有序集合)。
數(shù)組元素的添加
arrayObj.push([item1 [item2 [. . . [itemN ]]]]);
將一個(gè)或多個(gè)新元素添加到數(shù)組結(jié)尾,并返回?cái)?shù)組新長(zhǎng)度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);
將一個(gè)或多個(gè)新元素添加到數(shù)組開始,數(shù)組中的元素自動(dòng)后移,返回?cái)?shù)組新長(zhǎng)度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);
將一個(gè)或多個(gè)新元素插入到數(shù)組的指定位置,插入位置的元素自動(dòng)后移,返回""
數(shù)組元素的刪除
arrayObj.pop();
移除最后一個(gè)元素并返回該元素值
arrayObj.shift();
移除最前一個(gè)元素并返回該元素值,數(shù)組中元素自動(dòng)前移
arrayObj.splice(deletePos,deleteCount);
刪除從指定位置deletePos開始的指定數(shù)量deleteCount的元素,數(shù)組形式返回所移除的元素
截取與合并
arrayObj.slice(start, [end]);
以數(shù)組的形式返回?cái)?shù)組的一部分,注意不包括 end 對(duì)應(yīng)的元素,如果省略 end 將復(fù)制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);
將多個(gè)數(shù)組(也可以是字符串,或者是數(shù)組和字符串的混合)連接為一個(gè)數(shù)組,返回連接好的新的數(shù)組
數(shù)組的拷貝
arrayObj.slice(0);
返回?cái)?shù)組的拷貝數(shù)組,注意是一個(gè)新的數(shù)組,不是指向
arrayObj.concat();
返回?cái)?shù)組的拷貝數(shù)組,注意是一個(gè)新的數(shù)組,不是指向
數(shù)組元素的排序
arrayObj.reverse();
反轉(zhuǎn)元素(最前的排到最后、最后的排到最前),返回?cái)?shù)組地址
arrayObj.sort();
對(duì)數(shù)組元素排序,返回?cái)?shù)組地址
數(shù)組元素的插入
arrayObj.splice(insertPos,0, [item1[, item2[, . . . [,itemN]]]]);
從 insertPos 位置插入指定的item元素,0代表刪除0個(gè)元素,返回空數(shù)組
數(shù)組元素的替換
arrayObj.splice(insertPos,replaceCount, [item1[, item2[, . . . [,itemN]]]]);
從 insertPos 位置刪除 replaceCount 個(gè)元素,再?gòu)?insertPos 位置添加指定的item元素,數(shù)組形式返回被刪除的元素
數(shù)組元素的位置
arrayObj.indexOf(findThing,start);
從要查找的起點(diǎn)(可選) start 開始向后找要查找的項(xiàng) findThing ,找的準(zhǔn)則是全等,找到則返回該值的位置,找不到則返回-1
arrayObj.lastIndexOf(findThing,number)
從要查找的起點(diǎn)(可選) start 開始向前找要查找的項(xiàng) findThing ,找的準(zhǔn)則是全等,找到則返回該值的位置,找不到則返回-1
數(shù)組元素的迭代
arrayObj.every()
對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回 true ,則返回 true
arrayObj.filter()
對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),返回該函數(shù)會(huì)返回 true 的項(xiàng)組成的數(shù)組
arrayObj.forEach()
對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),這個(gè)方法沒有返回值
arrayObj.map()
對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
arrayObj.some()
對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),如果該函數(shù)對(duì)任一項(xiàng)返回 true ,則返回 true
數(shù)組元素的歸并
arrayObj.reduce(prev, cur, index, array)
從數(shù)組的第一項(xiàng)開始,逐個(gè)便利到最后,四個(gè)參數(shù)分別為前一個(gè)值,當(dāng)前值,項(xiàng)的索引和數(shù)組對(duì)象,函數(shù)返回的任何值會(huì)作為第一個(gè)參數(shù)自動(dòng)傳給下一項(xiàng)
000
arrayObj.reduceRight()
從數(shù)組的最后開始,逐個(gè)便利到第一項(xiàng),四個(gè)參數(shù)分別為前一個(gè)值,當(dāng)前值,項(xiàng)的索引和數(shù)組對(duì)象,函數(shù)返回的任何值會(huì)作為第一個(gè)參數(shù)自動(dòng)傳給下一項(xiàng)
數(shù)組元素的字符串化
arrayObj.join(separator);
返回字符串,這個(gè)字符串將數(shù)組的每一個(gè)元素值連接在一起,中間用 separator 隔開。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
toSource() 返回該對(duì)象的源代碼
toString() 把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果
toLocaleString() 把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組,并返回結(jié)果
valueOf() 返回?cái)?shù)組對(duì)象的原始值
ES5 新增
Array.prototype.indexOf
indexOf()方法返回在該數(shù)組中第一個(gè)找到的元素位置,如果它不存在則返回-1。
Array.prototype.lastIndexOf
Array.prototype.every
Array.prototype.some
Array.prototype.forEach
forEach為每個(gè)元素執(zhí)行對(duì)應(yīng)的方法
Array.prototype.map
map()對(duì)數(shù)組的每個(gè)元素進(jìn)行一定操作(映射)后,會(huì)返回一個(gè)新的數(shù)組
map()是處理服務(wù)器返回?cái)?shù)據(jù)時(shí)是一個(gè)非常實(shí)用的函數(shù)
Array.prototype.filter
該filter()方法創(chuàng)建一個(gè)新的匹配過濾條件的數(shù)組。
Array.prototype.reduce
reduce()可以實(shí)現(xiàn)一個(gè)累加器的功能,將數(shù)組的每個(gè)值(從左到右)將其降低到一個(gè)值
場(chǎng)景: 統(tǒng)計(jì)一個(gè)數(shù)組中有多少個(gè)不重復(fù)的單詞
Array.prototype.reduceRight
以上這篇JavaScript 中有關(guān)數(shù)組對(duì)象的方法(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js實(shí)現(xiàn)根據(jù)文件url批量壓縮下載成zip包
本文主要介紹了js實(shí)現(xiàn)根據(jù)文件url批量壓縮下載成zip包,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
JavsScript中Promise的錯(cuò)誤捕獲詳解
怎么捕獲錯(cuò)誤并且處理是一門語言必備的知識(shí),在JavaScript中也是如此,下面這篇文章主要給大家介紹了關(guān)于JavsScript中Promise錯(cuò)誤捕獲的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
JS簡(jiǎn)單實(shí)現(xiàn)自定義右鍵菜單實(shí)例
本篇文章主要介紹了JS簡(jiǎn)單實(shí)現(xiàn)自定義右鍵菜單實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
JS題解leetcode去掉最低工資和最高工資后的工資平均值
這篇文章主要為大家介紹了JS題解leetcode去掉最低工資和最高工資后的工資平均值,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
建立良好體驗(yàn)度的Web注冊(cè)系統(tǒng)ajax
建立良好體驗(yàn)度的Web注冊(cè)系統(tǒng)ajax...2007-07-07
微信小程序封裝的HTTP請(qǐng)求示例【附升級(jí)版】
這篇文章主要介紹了微信小程序封裝的HTTP請(qǐng)求,結(jié)合實(shí)例形式分析了微信小程序封裝基于wx.request方法的http請(qǐng)求相關(guān)操作與使用技巧,并附帶升級(jí)版示例供大家參考,需要的朋友可以參考下2019-05-05
JavaScript實(shí)現(xiàn)移動(dòng)端輪播效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動(dòng)端輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

