1、join()
把数组转换为字符串,并规定一个连接字符,不传参则默认的是逗号 ' , '
let arr=[10,9,12,8,6,3,13,1]
arr.join()
arr.join("-")
2、push() 和 pop()、shift() 和 unshift()
push() 把里面的参数添加到原数组末尾,并返回修改后的数组长度
pop() 删除原数组的最后一项,返回删除的那个值,并减少数组的长度 lenght
unshift() 将里面的参数添加到原数组开头,并返回修改后的数组长度
shift() 删除原数组的第一项,返回删除的那个值,并减少数组的长度 lenght
3、sort()
对原数组里的项从小到大排序
如果调用该方法时没有使用参数,是按照字符编码的顺序进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
arr.sort() \\ 默认从小到大
arr.sort((a,b) => b-a) \\ 从大到小
4、reverse()
反转原数组数组项的顺序
arr.reverse()
5、concat()
将参数添加到数组中,创建当前数组的副本,将接收到的参数添加到这个副本的末尾,再返回新构建的数组。没有传参的话,只是复制当前数组并返回副本
arr.concat(9,[11,13])
6、slice()
可接收一或两个参数,返回开始下标到结束下标之间项组成的新数组(不包含结束下标的项);一个参数就是返回指定位置开始到数组末尾的所有项
arr.slice(1,3)
7、splice()
删除:指定两个参数,要删除的起始位置和要删除的项数
arr.splice(1,3)
插入:可向指定位置插入任意数量的项,需指定3个参数:起始位置、0(要删除的项数)和要插入的任意数量的项。
arr.splice(2,0,4,6)
替换:可向指定位置插入任意数量的项,且同时删除任意数量的项,需指定三个参数,起始位置、要删除的项数和要插入的任意数量的项。
arr.splice(2,1,5,8,9)
8、indexOf() 和 lastIndexOf()
indexOf() 和 lastIndexOf() 都是接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。
其中,indexOf() 是从数组的开头(位置0)开始向后查找;lastIndexOf() 是从数组的末尾开始向前查找。
arr.indexof(5)
arr.lastIndexOf(5,4)
9、forEach()
对数组进行遍历循环,对数组中的每一项运行给定函数。
传参:遍历的数组元素、索引和数组本身
arr.forEach(
(x, index, a) => console.log(x + '|' + index + '|' + (a === arr))
);
注:forEach不支持break;forEach使用return无效(直接再for循环中使用return会报错,函数中使用for可以return);forEach删除自身元素index索引不会被重置(使用forEach删除自身元素可以通过反过来遍历);
10、map()
map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果
let arr1 = arr.map(x => x * x);
11、filter()
"过滤",数组的每一项运行给定函数,返回满足过滤条件组成的新数组
let arr1 = arr.filter((x, index) => {
return index % 3 === 0 || x >= 8;
});
12、every() 和 some()
every() 判断数组中每一项是否满足条件,只有所有项都满足条件,才会返回 true
some() 判断数组中是否有满足条件的项,只要有一项满足条件,就会返回 true
let result1 = arr.every(i => i < 10);
let result2 = arr.some(i => i < 3);
13、其他常用数组方法
1)find() 返回符合传入函数条件的第一个数组元素
2)findIndex() 返回符合传入函数条件的第一个数组元素索引
3)includes() 判断一个数组是否包含一个指定的值
4)isArray() 判断对象是否数组
5)toString() 把数组转换为字符串,并返回结果(数组中的元素之间用逗号分隔)
let fruits = ["Banana", "Orange", "Apple", "Mango"]
console.log(fruits.toString())
console.log(fruits.includes('Mango'))
console.log(Array.isArray(fruits))