

(生成新数组)

arr.pop()删除数组最后一个元素pop

arr.shift() 删除数组第一个元素shift()

arr.push(添加内容)后面添加push()

arr.unshift(1)前面添加unshift()


2个参数 删除
arr.splice(起始位置,底位置);
3个参数 添加或者替换
arr.splice(开始位置,长度,替换或者添加元素);
arr.splice(0,0,100); 在开始位置添加100
arr.splice(0,1,100); 替换0~1即第一个位置元素,替换为100
arr.splice(-1,0,500) 倒数第二个位置添加500的数
arr.splice(-1,1,600)替换最后一个元素为600


(1)数组元素为数字,排序
arr.sort((a,b)=>a-b);升序 从小到大
arr.sort((a,b)=>b-a);降序 从大到小

(2)数组元素为字符串,直接调用arr.sort() 方法

(3)数组对象

arr.copyWithin(index,start,end);






arr.indexOf("查询元素",查询开始位置);不存在返回-1,存在返回下标位置

index为倒数第几开始查找
若有多个,返回最后一个元素位置,不然不存在返回-1


- arr.forEach((value,index)=>{
-
- console.log('值为'+value);
-
- console.log('下标为'+index);
-
- });
- //检数组中是否有大于888的值。若有返回true,否则返回false
- arr.some(value=>value>888);
- let arr=[1,2,3,4];
- arr.every(value=>value>0) //返回true,全部满足条件
- arr.every(value=>value>2) //返回false,只有部分满足条件


- arr=['a','b','c'];
- for(let i of arr.keys()){
- console.log(i)//keys()遍历下标 0 1 2
- }
- for(let item of arr.values()){
- console.log(item)//values()遍历值 a b c
- }
- for (let [i,item] of arr.entries()){
- console.log(i,item)//entries()遍历下标以及内容
- }
keys values entries
参数 total(必须):初始值,之后为上一次回调的返回值。
value(必须): 数组元素的值。
index(可选): 索引值。
arr(可选): 数组对象。
init(可选): 初始值。
返回值 :累加后的值
- let arr = [1,2,3,4,5]
- let sum = arr.reduce((total,value)=>total +value)
- console.log(sum)//15
找出数组中有几个元素

参数值同froEach一样
返回值: find()返回第一个符合条件的数组成员,若不存在返回undefined。 findIndex()返回符合条件的数组成员的索引。
- let arr= [1,2,3,4,5]
- let result = arr.find(item=>item>3)
- console.log(result)//4 第一个值
- let result1 = arr.findIndex(item=>item>3)
- console.log(result1)//3 第一个值的下标

数组去重排序
- let arr = [1,3,2,4,8,6,[5,1,3,5,9,10,5,[1,5,3,6,7,8,11,7,66]]]
- let newarr = Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>a-b)
- console.log(newarr)//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 66]
数组打乱
- var arr = [1,2,3,4,5,6,7,8,9]
-
- for(let i =0;i<arr.length;i++){
- let sum = parseInt(Math.random()*(arr.length-1))
- let copyarr = arr[i];
- arr[i] = arr[sum]
- arr[sum] = copyarr
- }
- console.log(arr)
都是搬运博主学习,但做笔记比较熟点