- push
var arr = [1, 2, 3, 4];
var length = arr.push(6);
console.log(length);//5
console.log(arr);//[1, 2, 3, 4, 6];
- unshift
var arr = [1, 2, 3, 4];
var length = arr.unshift(6);
console.log(length);//5
console.log(arr);//[6, 1, 2, 3, 4];
- pop
var arr = [1, 2, 3, 4];
var num = arr.pop();
console.log(num);//4
console.log(arr);//[1, 2, 3,];
- shift
var arr = [1, 2, 3, 4];
var num = arr.shift();
console.log(num);//1
console.log(arr);//[2, 3, 4];
- sort
- 排列数组中的成员 改变原数组(适用于成员全为数字)有以下几种情况:
- 传参(传函数 该函数必有两个参数)
var arr = [3, 7, 9, 8, 1, 6];
arr.sort(function(a,b){
return a - b;
});//[1, 3, 6, 7, 8, 9]
console.log(arr);
var arr = [3, 7, 9, 8, 1, 6];
arr.sort(function(a,b){
return b - a;
});//[9, 8, 7, 6, 3, 1]
console.log(arr);
- 不传参
var arr = [3, 7, 9, 8, 1, 6];
arr.sort(function(){
});//[3, 7, 9, 8, 1, 6]
console.log(arr);
- join
var arr = [1, 2, 3, 4, 5, 6];
var str = arr.join();
var str1 = arr.join("*");
console.log(str);//1,2,3,4,5,6
console.log(str1);//1*2*3*4*5*6
- concat
- 连接作用 给数组连接新成员,如果新成员中有数组会先将这个数组拆开在连接,返回新数组
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.concat(7,8,9,[10,11,23]);
console.log(arr1);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23]
- slice
- 用于截取数组中的一段成员 返回新数组。分为以下几类
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.slice();
console.log(arr1);//[1, 2, 3, 4, 5, 6]
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.slice(2);
console.log(arr1);//[3, 4, 5, 6]
- slice(a,b)表示从下标a截取到下标b,[a,b)
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.slice(2,4);
console.log(arr1);//[3, 4]
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.slice(3,-2);
console.log(arr1);//[4]
- reverse
- 将一个数组倒序 影响原数组(原数组倒序排列)返回原数组
var arr = [1, 2, 3, 4, 5, 6];
arr.reverse();
console.log(arr);//[6, 5, 4, 3, 2, 1]
- splice
- 操作数组 接收的第一个参数表示操作数组的位置,第二个参数表示要删除的项数,之后的参数表示向第一个参数插入的成员(参数不固定)返回改变后的原数组
var arr = [1, 2, 3, 4, 5, 6];
arr.splice(1,2,7,8,9);
console.log(arr);//[1, 7, 8, 9, 4, 5, 6]
- indexOf
- 查找数组中的某一个成员,存在返回下标,不存在返回-1
- 第一个参数是查找的成员,第二个参数是查找元素的起始位置
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var index = arr.indexOf(5,4);
console.log(index);//4
- filter
- 过滤 参数为函数 返回值为符合参数表达式的成员组成的数组
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var arr1 = arr.filter(function(value,index,self){
return value % 2 == 1;
})
console.log(arr1);//[1, 3, 5, 7]
- forEach
- 该方法用于循环 参数为一个函数,执行次数为length次,没有返回值
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
arr.forEach(function(value,index,self){
console.log(value,index,self);
})
- map
- 该方法也用于循坏参数为一个函数,执行length次,返回值为一个新数组,新数组的成员为参数函数的返回值
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = [10, 20, 30, 40, 50, 60, 70, 80];
var arr1 = arr.map(function(value,index,self){
return value * 1.5
})
console.log(arr1);//[15, 30, 45, 60, 75, 90, 105, 120]
- some
- 用于判断数组是否存在符合条件的成员,参数为一个函数,返回值为布尔值(只要有一个成员符合就为true,全部不符合就为flase)
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var result = arr.some(function(value,index,self){
return value === 5;
})
console.log(result)//true
- every
- 用于判断数组是否存在符合条件的成员,参数为一个函数,返回值为布尔值(只要有一个成员不符合就为flase,全部符合就为true)(对比some)
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var result = arr.every(function(value,index,self){
return value === 5;
})
console.log(result)//false
- fill
- 填充数组 接收三个参数 改变原数组
- 传一个参数a,就是将数组的每个成员都填充为a
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
arr.fill(9);
console.log(arr);//[9, 9, 9, 9, 9, 9, 9, 9]
- 传两个参数a,b 第一个参数为填充数,第二个参数是开始填充位置,往后都填充为a
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
arr.fill(9,3);
console.log(arr);//[1, 2, 3, 9, 9, 9, 9, 9]
- 传三个参数 第一个参数为填充数 第二个填充的起始位置 第三个参数填充的结束位置
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
arr.fill(9,3,6);
console.log(arr);//[1, 2, 3, 9, 9, 9, 7, 8]
- find
- 查询数组中的成员,参数为一个函数,返回值为符合条件表达式的第一个成员,都不符合返回underfined
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = ["张三", "李四", "王五", "赵六", "田七", "刘八"];
var username = arr.find(function(value,index,self){
return value.indexOf("四") != -1;
})
console.log(username);//李四
- findIndex
- 查询数组成员的索引值,参数为一个函数,返回值为符合条件表达式的第一个成员的索引,没有就返回-1
- 函数的第一个参数为数组成员 函数的第二个参数为数组成员的索引 第三个参数为数组本身
var arr = ["张三", "李四", "王五", "赵六", "田七", "刘八"];
var Index = arr.findIndex(function(value,index,self){
return value.indexOf("四") != -1;
})
console.log(Index);//1
- copyWithin
- 数组的内部复制,接收三个参数
- 第一个参数为被替换位置 第二个参数为复制的起始位置 第三个参数为复制的结束位置(包含开始位置不包括结束位置)
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
arr.copyWithin(1,3,7);
console.log(arr);// [1, 4, 5, 6, 7, 6, 7, 8]