1.push() 后增
push 向数组的末尾添加一个或多个元素,并返回新的长度 尾部添加
var a = [1,2,3] var b = a.push(4) console.log(a) // [1,2,3,4] console.log(b) // 4 |
2.unshift() 前增
unshift 向数组的开头添加一个或多个元素,并返回新的长度 头部添加
var a = [2,3,4] var b = a.unshift(0,1) console.log(a) // [0,1,2,3,4] console.log(b) // 5 |
3.pop() 后删
pop 删除并返回数组的最后一个元素 尾部删除,返回被删除的元素
var a = [1,2,3] var b = a.pop() console.log(a) // [1,2] console.log(b) // 3 |
4.shift() 前删
shift 删除并返回数组的第一个元素 头部删除,返回被删元素
var a = [1,2,3] var b = a.shift() console.log(a) // [2,3] console.log(b) // 1 |
5. splice() 修改删除
splice(index,length,增加的元素1,增加的元素2....,增加的元素N) 表示从index开始删除length个元素,并从index开始新增元素1~N,放回被删除的元素组成的数组
对数组进行删除修改,返回被删除的元素组成的数组,改变原数组
var a = [1,2,3,4,5,6] var b= a.splice(1,3,8,[3,4,5]) console.log(a); //[ 1, 8, [ 3, 4, 5 ], 5, 6 ] 第二位从index开始删除length个元素,与此同时增加元素 console.log(b); //[2,3,4] //删除的元素 |
6.concat() 拼接
concat() 方法用来合并两个或多个数组
合并两个或多个数组,返回新数组,不会改变原数组
var a = [1,2,3] var b = [4,5] var c = a.concat(b) console.log(a) // [1,2,3] console.log(b) // [4,5] console.log(c) // [1,2,3,4,5] |
7.slice() 剪切
slice(startIndex,endIndex) 返回从startIndex开始(包括),到endIndex(不包括)之间的元素组成的数组
返回新数组,不改变原数组
var a = [1,2,3] var b = a.slice(0,2) // 不填参数则表示剪切整个数组 var c = a.slice() console.log(a) // [1,2,3] console.log(b) // [1,2] 从0开始到2不包括2 输出下标0和1 console.log(c) // [1,2,3] console.log(a===c) // false // 注意 a !== c // 负数表示从后往前数 var d = a.slice(-1,-2) console.log(d) // [] 从左向右截取,所以说为[] var e = a.slice(-1) console.log(e) // [3] |
8.join() 数组转化为字符串
join() 方法用来将数组转换为字符串
不改变原数组,返回转换后的字符串
var a = [1,2,3,4,5] console.log(a.join(',')) // 1,2,3,4,5 console.log(a) // [1,2,3,4,5] |
9.sort() 排序
按ascii码排序 改变原数组,返回排序后的数组
var a = ['a','b','d','c'] console.log(a.sort()) // ['a','b','c','d'] console.log(a) // ['a','b','c','d'] |
10.reverse() 颠倒顺序
reverse() 方法用于颠倒数组中元素的顺序。
返回的是颠倒后的数组,会改变原数组。
var a = [1,3,2,7,6] console.log(a.reverse()) // [6,7,2,3,1] console.log(a) // [6,7,2,3,1] |
11.indexOf()和lastIndexOf()
indexOf(某元素,startIndex) 从startIndex开始,查找某元素在数组中的位置,若存在,则返回第一个位置的下标,否则返回-1
lastIndexOf(某元素,startIndex) 和indexOf()相同,区别在于从尾部向首部查询
不会改变原数组,返回找到的index,否则返回-1
若不使用下标,则一般通过includes()方法代替indexOf()
var a = [1,2,4,3,3,5,4] console.log(a.indexOf(4)) // 2 console.log(a.indexOf(4,3)) // 6 第二个参数是查找的起始位置 |
12.filter() 过滤 根据条件判断
filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变
filter()的参数是一个方法 var a = [1,2,3,4,11] // 第一个参数为一个方法,有三个参数,current:当前值 index:当前值下标 array:这个数组对象 var b = a.filter(function(current,index,array){ return current < 10 }) console.log(b) // [1,2,3,4] console.log(a) // [1,2,3,4,11] |
13.map() 格式化数组 改变内容
map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变
var a = [1,2,3,4,5] // 参数同filter方法 var b = a.map(function(current,index,array){ return current + 1 }) console.log(b) // [2,3,4,5,6] console.log(a) // [1,2,3,4,5] |
14.every()
对数组的每一项都运行给定的函数,若每一项都返回 ture,则返回 true 任意不符合false
var a = [1,2,3,4,5] var b = a.every(function(current,index,array){ return current < 6 }) var c = a.every(function(current,index,array){ return current < 3 }) console.log(b) // true console.log(c) // false |
15.some()
对数组的每一项都运行给定的函数,若存在一项或多项返回 ture,则返回 true 任一符合true
var a = [1,2,3,4,5] var b = a.some(function(current,index,array){ return current > 4 }) var c = a.some(function(current,index,array){ return current > 5 }) console.log(b) // true console.log(c) // false |
16.forEach() 数组遍历
遍历整个数组,中途不能中断
var array = ['a', 'b', 'c']; array.forEach(function(element) { console.log(element); // a b c });
17.toSrting()
JS中的所有对象都具有toString方法,它把一个变量隐式转换为字符串
var arr=["a","b","c","d"]; var string = arr.toString() console.log(string) //a,b,c,d |
18. slice():
从已有的数组中返回指定的元素
var string = arr.slice(start,end)//start==>开始位置下标 end==>结束位置下标(不算) var Arr = [1,2,3,4,5,6,7,8,9,10] var subArr = Arr.slice(2,5) console.log(subArr) [3,4,5] |
19. reverse(): 颠倒的数组顺序
var arr=[1,2,3,4,5,6,7,8,9] var a = arr.reverse() [9, 8, 7, 6, 5, 4, 3, 2, 1] |