摘要:在為的位置,刪除個元素,插入刪了為的元素,替換為刪了為的元素數(shù)組的增刪改都可以用完成返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項組成的新數(shù)組該方法不會改變原始數(shù)組。不傳值表示克隆了除了正常用法,經(jīng)常用來將對象轉(zhuǎn)換為。
js 中數(shù)組的常用方法總結(jié)
arr.fill("a");
//所有子元素 都改為 "a";
[{a: 1},{b: 2}, ...Array(8).fill({}, 0)]
//后面八個元素 全部用 {} 代替;
[{a: 1},{b: 2}, ...Array(8).fill({}, 0,5)]
//后面5 個元素用{}代替,其他是 undefined
arr.every(item=> item.age>20);
//如果數(shù)組中所有元素的age >20 ,返回true,否則返回false;
arr.some(item=> item.age>20);
//如果數(shù)組中有一個元素的age >20 ,返回true,否則返回false;
findIndex(),find( ) 和 filter()都是 匹配 item;
區(qū)別是 find 只找到第一個就停止, find 返回的是 符合的item
filter 返回所有匹配的item組成的數(shù)組;
findIndex 返回的是 item的index;
lastIndexOf() ,indexOf() 和 includes() 都是檢查是否存在某個item;
區(qū)別是 indexof 無法判斷NaN ;includes 可以;
indexof 找不到返回 -1,找到返回index;
includes() 直接返回 true 或 false;
lastIndexOf() 從字符后面開始查找,返回 最后一個匹配的index,找不到 就返回 -1;
pop():刪除原數(shù)組最后一項,并返回刪除元素的值;如果數(shù)組為空則返回undefined,改變原數(shù)組
shift:刪除原數(shù)組第一項,并返回刪除元素的值;如果數(shù)組為空則返回undefined,改變原數(shù)組
unshift:將參數(shù)添加到原數(shù)組開頭,并返回數(shù)組的長度,改變原數(shù)組
push:將參數(shù)添加到原數(shù)組末尾,并返回數(shù)組的長度,改變原數(shù)組
concat:返回一個新數(shù)組,是將參數(shù)添加到原數(shù)組中構(gòu)成的,不改變原數(shù)組;
splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目,該方法會改變原始數(shù)組。
arr.splice(2,0,"a") 在index為2的位置,刪除0 個元素,插入 "a";
arr.splice(2,1,"a") 刪了index 為2 的元素,替換為 "a";
arr.splice(2,1,"a") 刪了index 為2 的元素;
數(shù)組的增刪改 都可以用splice 完成;
slice(start,end):返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項組成的新數(shù)組,該方法不會改變原始數(shù)組。
var arr2 = arr.slice() ; 不傳值表示 克隆了 arr2;
除了正常用法,slice 經(jīng)常用來將 array-like 對象轉(zhuǎn)換為 true array。在一些框架中會經(jīng)常有這種用法:
Array.prototype.slice.call(arguments);//將參數(shù)轉(zhuǎn)換成真正的數(shù)組.
reverse:將數(shù)組反序
sort((a,b)=>a-b):按指定的參數(shù)對數(shù)組進(jìn)行排序 return a-b 升序 b-a 降序
例如: var arr=[{name:"a",age:21},{name:"b",age:12},{name:"c",age:2},{name:"d",age:42},{name:"e",age:1}] 按照age 從小到大排序 arr = arr.sort(function (a,b) { return a.age>b.age }) console.log(arr)
arr.join(";") 方法用于把數(shù)組中的所有元素放入一個字符串,;隔開。
str.split(";") 字符串轉(zhuǎn)數(shù)組,以‘;’區(qū)分;
arr.forEach(item=>{})
遍歷數(shù)組,它不能停止循環(huán);
reduce()
改變原數(shù)組的:
shift:將第一個元素刪除并且返回刪除元素,空即為undefined
unshift:向數(shù)組開頭添加元素,并返回新的長度
pop:刪除最后一個并返回刪除的元素
push:向數(shù)組末尾添加元素,并返回新的長度
reverse:顛倒數(shù)組順序
sort:對數(shù)組排序
splice:splice(start,length,item)刪,增,替換數(shù)組元素,返回被刪除數(shù)組,無刪除則不返回
不改變原數(shù)組的:
concat:連接多個數(shù)組,返回新的數(shù)組
join:將數(shù)組中所有元素以參數(shù)作為分隔符放入一個字符
slice:slice(start,end),返回選定元素
map,filter,forEach,some,every等不改變原數(shù)組
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/95145.html
摘要:數(shù)組語法功能遍歷數(shù)組,返回回調(diào)返回值組成的新數(shù)組,不改變原數(shù)組,不會對空數(shù)組進(jìn)行檢測語法功能無法,可以用中來停止,不改變原數(shù)組語法功能過濾,返回過濾后的數(shù)組,不改變原數(shù)組,不會對空數(shù)組進(jìn)行檢測語法功能有一項返回,則整體為,不改變原數(shù)組語法 數(shù)組 (array) ES5 * map 語法:[].map(function(item, index, array) {return xxx})功...
摘要:元素是通過指定的分隔符進(jìn)行分隔的。返回值一個字符串?dāng)?shù)組,執(zhí)行的操作與執(zhí)行的操作是相反的。返回值與沒有參數(shù)的方法返回的字符串相同。 1.javascript刪除元素節(jié)點(diǎn) IE中有這樣一個方法:removeNode(),這個方法在IE下是好使的,但是在Firefox等標(biāo)準(zhǔn)瀏覽器中就會報錯了 removeNode is not defined,但是在核心JS中有一個操作DOM節(jié)點(diǎn)的方法叫:r...
摘要:數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。在實(shí)際項目中碰到的數(shù)組去重,一般都是后臺去處理,很少讓前端處理數(shù)組去重。數(shù)組去重的方法一利用去重中最常用如果不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在實(shí)際項目中碰到的...
摘要:函數(shù)接受個參數(shù)前一個值,當(dāng)前值,項索引,數(shù)組本身。更多數(shù)組方法請看 js內(nèi)置對象之Array 一,會改變原數(shù)組 1.移除數(shù)組末尾最后一項.pop() 返回刪除的元素 如果你在一個空數(shù)組上調(diào)用 pop(),它返回 undefined let word = [a, b, c, d]; let newArr = word.pop(); console.l...
閱讀 3528·2021-11-18 10:02
閱讀 963·2021-09-04 16:48
閱讀 2047·2019-08-30 15:55
閱讀 3553·2019-08-30 15:52
閱讀 1825·2019-08-30 14:08
閱讀 3568·2019-08-30 13:19
閱讀 1155·2019-08-27 10:53
閱讀 3134·2019-08-26 12:11