1.Array.concat()
作用:数组的合并
参数 :可以是具体值也可以是数组的对象。可以是任意多个。
返回值:返回一个新的数组。该数组通过a,b数组添加到newarr数组。
let a=[1,2]
let b=[3,4]
let newarr=a.concat(b)
console.log(newarr); //[1,2,3,4]
2.Array.push()
作用:末尾添加元素
参数:需要追加的对象
返回值:被追加后的数组
原有数组被改变
let a=[1,2]
a.push(3)
console.log(a);//[1,2,3]
3.Array.pop()
作用:删除数组的最后一个元素
参数:不需要传参数
返回值:返回被删除后的元素
原有数组被改变
let a=[1,2,3]
a.pop()
console.log(a);//[1,2]
4.Array.unshift()
作用:将参数添加到数组的开头并返回数组的长度
参数:数组,对象,值
返回值:一个被添加后的数组
原有数组被改变
let a=[1,2,3]
a.unshift(4)
console.log(a);//[1,2,3,4]
5.Array.shift()
作用:删除数组中的第一个元素
返回值:被删除头部元素的数组
原有数组是否被改变:被改变
let a=[1,2,3,4,5]
console.log(a.shift());
console.log(a); //[2, 3, 4, 5]
6.Array.join()
作用:把数组中的所有元素放入到一个字符串,元素是通过指定的分隔符进行分隔的。
参数:可选择指定要使用的分隔符。如果省略该参数,则默认使用逗号作为分隔符。
返回值:需要一个变量接收,接受的是个字符串,没有接收arr还是个数组,该字符串是通过arr的每个元素转为字符串,然后把这些字符串连接起来,在两个元素之间插入*而生成的。
不会对原有的数组进行改变
let arr=[1,2,3,4,5]
let n=arr.join('.')
console.log(n);//1.2.3.4.5
7.Array.reverse()
作用:将数组中元素的顺序翻转
返回值:被颠倒后的数组
原有数组被改变
let arr=[1,2,3,4,5,6]
console.log(arr.reverse());//[6, 5, 4, 3, 2, 1]
8.Array.slice()
作用:从已有的数组(字符串)中根据执行下标截取出来返回已有的元素
参数:指定索引,第一个参数是从指定的下标开始截取,一直到第二个参数给的下标。包前不包后
返回值:被截取后的元素
原有数组不会被改变
let arr=[1,2,3,4,5,6]
let n=arr.slice(1,4)//[2,3,4]
console.log(n);
9.Array.sort()
作用:排正序或者倒序
参数:a-b 正序的选择或者b-a倒序的选择
返回值:被排序的数组
原有数组是否被改变:被改变
let arr=[1,2,3,4,5]
arr.sort((a,b)=>{
return b-a
})
console.log(arr); //[5, 4, 3, 2, 1]
10.Array.splice()
作用:截取、替换、删除
参数:splice(从第几个开始删除,删除几个[,插入项(多个用数组写)])
返回值:被截取、添加、替换后的数组
原有数组是否被改变:被改变
let att=[1,2,3,4,5]
console.log(att.splice(2,1)); //指定位置截取
console.log(att); //[1, 2, 4, 5]
let atr=[1,2,3,4,5]
console.log(atr.splice(2,1,0)); //指定位置替换
console.log(atr); // [1, 2, 0,4, 5]
let ate=[1,2,3,4,5]
console.log(ate.splice(0,0,8)); //指定位置添加
console.log(ate); // [8,1, 2, 3, 4, 5]
11.Array.filter()
作用:过滤符合条件的值 ,会循环遍历数组所有值 return不会结束循环体,会返回该值
参数:根据要求配置的条件
返回值:以数组的形式返回 返回的是过滤条件后的数组,可以使用一个新数组接收
不会改变原来的数组
var arr = [1,2,3,4,5]
var newArr = arr.filter(item=> item >= 3)
console.log(newArr); // [3,4,5]
12.Array.forEach()
作用:循环遍历数组所有的值 没有返回值 return代表结束循环
var arr = ['a','b','c','d']
arr.forEach((item,index)=>{
console.log(item) // a,b,c,d // 循环的每项值
console.log(index) // 0,1,2,3 // 当前循环值在数组中对应的索引
})
13.Array.some()
作用:循环判断 一旦找到符合的条件会立即结束循环
返回值:布尔值
var arr = [1,2,3,4,5]
let flag = arr.some(item=> item==2 )
// true 找到一个符合条件的就会结束循环 并返回 true
let flag1 = arr.some(item=> item==6 )
// false 如果都不符合条件会返回 false
14.Array.every()
作用:循环判断每一项是否都符合条件
返回值:布尔值
var arr = [1,2,3,4,5]
let flag = arr.every(item=> item >2 )
// false 只要有一条不符合就会结束循环 并返回 false
let flag1 = arr.every(item=> item <0)
// true 当每项都符合条件判断才会返回 true
15.Array.find()
作用:查找当前符合条件的并返回该值
返回值:符合条件的值
var arr = [{name:'a'},{name:'b'},{name:'c'}]
let result = arr.find(item=> item.name=='b')
console.log(result);
// {name:'b'} // 找到该值结束循环并返回该值
16.Array.findIndex()
作用:查找数组中符合条件值所对应的下标
返回值:符合条件的索引值
var arr = ['a','b','c','d']
console.log(arr.findIndex(item=> item=='c' ));
// 2 找到值会结束循环并返回该值所对应的下标
17.Array.map()
作用:通常用于查找id并修改所对应的值不是则原封回
原有数组不会改变,需要声明一个变量来接收
var arr = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
let newArr = arr.map(item=> ( item.id==2?{...item,name:'000'}:{...item}))
console.log(newArr);
// newArr === [{"id":1,"name":"a"},{"id":2,"name":"000"},{"id":3,"name":"c"}]
18.Array.reduce()
作用:通常用于数组求和计算
返回值:计算出来的数
var arr = [{price: 30}, {price: 20}, {price: 40}, {price: 55}]
let result = arr.reduce((previous, current) => previous + (current.price >= 30 ? 1 : 0), 0)
// 筛选价格大于或等于30
console.log(result) // 3
// Array.reduce( (上一个参数的返回值,当前所循环的值)=>,初始值) )
// 初始值==> 第一次循环previous所对应的值