js 中數組的經常使用方法總結

js 中數組的經常使用方法總結

arr.fill('a');
//全部子元素 都改成 "a";數組

[{a: 1},{b: 2}, ...Array(8).fill({}, 0)] 框架

//後面八個元素 所有用 {} 代替;prototype

[{a: 1},{b: 2}, ...Array(8).fill({}, 0,5)]code

//後面5 個元素用{}代替,其餘是 undefined對象

arr.every(item=> item.age>20);
//若是數組中全部元素的age >20 ,返回true,不然返回false;排序

arr.some(item=> item.age>20);
//若是數組中有一個元素的age >20 ,返回true,不然返回false;字符串

findIndex(),find( ) 和 filter()都是 匹配 item;
區別是 find 只找到第一個就中止, find 返回的是 符合的item
filter 返回全部匹配的item組成的數組;
findIndex 返回的是 item的index;it

lastIndexOf() ,indexOf() 和 includes() 都是檢查是否存在某個item;io

區別是  indexof 沒法判斷NaN ;includes 能夠;

indexof 找不到返回 -1,找到返回index;
includes() 直接返回 true 或 false;
lastIndexOf() 從字符後面開始查找,返回 最後一個匹配的index,找不到 就返回 -1;console

pop():刪除原數組最後一項,並返回刪除元素的值;若是數組爲空則返回undefined,改變原數組
shift:刪除原數組第一項,並返回刪除元素的值;若是數組爲空則返回undefined,改變原數組
unshift:將參數添加到原數組開頭,並返回數組的長度,改變原數組
push:將參數添加到原數組末尾,並返回數組的長度,改變原數組
concat:返回一個新數組,是將參數添加到原數組中構成的,不改變原數組;

splice() 方法向/從數組中添加/刪除項目,而後返回被刪除的項目,該方法會改變原始數組。
arr.splice(2,0,"a") 在index爲2的位置,刪除0 個元素,插入 "a";
arr.splice(2,1,"a") 刪了index 爲2 的元素,替換爲 "a";
arr.splice(2,1,"a") 刪了index 爲2 的元素;
數組的增刪改 均可以用splice 完成;

slice(start,end):返回從原數組中指定開始下標到結束下標之間的項組成的新數組,該方法不會改變原始數組。
var arr2 = arr.slice() ; 不傳值表示 克隆了 arr2;
除了正經常使用法,slice 常常用來將 array-like 對象轉換爲 true array。在一些框架中會常常有這種用法:

Array.prototype.slice.call(arguments);//將參數轉換成真正的數組.

reverse:將數組反序
sort((a,b)=>a-b):按指定的參數對數組進行排序 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(';') 方法用於把數組中的全部元素放入一個字符串,;隔開。
str.split(';') 字符串轉數組,以‘;’區分;

arr.forEach(item=>{})
遍歷數組,它不能中止循環;

reduce()

改變原數組的:

shift:將第一個元素刪除而且返回刪除元素,空即爲undefined
unshift:向數組開頭添加元素,並返回新的長度
pop:刪除最後一個並返回刪除的元素
push:向數組末尾添加元素,並返回新的長度
reverse:顛倒數組順序
sort:對數組排序
splice:splice(start,length,item)刪,增,替換數組元素,返回被刪除數組,無刪除則不返回
不改變原數組的:

concat:鏈接多個數組,返回新的數組join:將數組中全部元素以參數做爲分隔符放入一個字符slice:slice(start,end),返回選定元素map,filter,forEach,some,every等不改變原數組

相關文章
相關標籤/搜索