属性
不会改变原数组的方法
- concat() : 用于合并两个或多个数组,返回一个新数组
let arr_1 = [1,2,3];
let arr_2 = [4,5,6];
let arr_3 = arr_1.concat(arr_2)
- slice() : 从已有的数组中返回选定的元素。
let arr_1 = [1,2,3];
arr_1.slice(0,1)
let arr_1 = [1,2,3];
let arr_2 = arr_1.map(function(item,index,array){
return item*item
})
- forEach():为数组中的每一个元素执行一次回调函数
let arr = [1,2,3,4]
let capy = []
arr.forEach(function(element){
capy.push(element)
})
- sort() : 数组元素排序(默认值转化为字符串,比较第一个字符)
let arr = [22,34,2,54,99,7]
arr.sort()//[ 2, 22, 34, 54, 7, 99 ]
arr.sort((a,b)=>{
return a-b //从小到大
})
arr.sort((a,b)=>{
return b-a // 从大到小
})
会改变原数组的方法
- pop() : 从数组中删除最后一个元素,并返回该元素的值
- push() : 从数组的末端插入一个元素
- shift() : 从数组中删除第一个元素,并返回该元素的值
- unshift() : 从数组的首位插入一个元素
let arr_1 = [1,2,3,4]
let del_pop = arr_1.pop()// arr_1:[1,2,3],del_pop:4
arr_1.push(5)//arr_1:[1,2,3,5]
let del_shift = arr_1.shift()//arr_1:[2,3,5],del_shift:1
arr_1.unshift(6)//arr_1:[6,2,3,5]
/**splice 第一个参数指名:操作的位置
* 第二个参数为:删除的个数
* 第三个参数为:插入的值
*/
let arr_1 = [6,2,3,5]
arr_1.splice(1,0,7)//arr_1:[6,7,2,3,5]
- every() : 全部满足条件为true 否则为false
- some() : 只要有满足条件的就为true,否则就为false
let arr_1 = [6,2,3,5]
arr_1.every((item) => {
return item>1
})
arr_1.some((item) => {
return item>4
})
- findIndex() : 返回第一个满足条件的索引,没有满足条件的就返回 -1
- find() : 返回第一个满足条件的目标元素,没有返回 undefined
let arr_1 = [6,2,3,5]
arr_1.findIndex((item) => {
return item == 2
})
arr_1.find((item) => {
return item > 5
})
//类似 findIndex
arr_1.indexOf(2) //有则返回索引,无则返回 -1
arr_1.includes(2) //有着返回true,无则返回 false
let arr_1 = [6,2,3,5]
arr_1.filter((item) => {
return item > 3
})
let arr_1 = [6,2,3,5]
arr_1.reverse()
let arr = [12,23,45,22,23]
arr.reduce((total,item,index,array) => {
total += item;
return total;
},0)