数组的方法有很多个,在此结合例子整理出来,方便需要的时候查看。
方法名 | 描述 |
---|---|
concat() | 连接多个数组 |
join() | 将数组元素拼接成字符串 |
reverse() | 数组元素反转 |
slice() | 数组元素的截取(返回新数组,不改变原数组) |
sort() | 数组元素的排序(参数接收一个排序函数) |
push() | 从数组的最后面添加元素(后插) |
pop() | 从数组的最后面删除元素(后删) |
unshift() | 从数组的最前面插入元素(前插) |
shift() | 从数组的最前面删除元素(前删) |
splice(a,b,c) | 数组元素的增删改 |
indexOf() | 查找对应下标(找不到返回-1) |
lastIndexOf() | 从后往前查找对应下标(找不到返回-1) |
includes() | 判断数组里面是否存在对应的值,存在返回true, 不存在返回false(includes对NaN是否存在判断准确, indexOf无法正确判断) |
Array.isArray() | 判断是否为数组 |
Array.from() | 将类数组或可遍历对象转换成真正的数组 |
forEach() | 遍历 |
filter() | 过滤 |
every() | 判断每一个元素是否符合条件 |
some() | 判断至少有一个元素是否符合条件 |
reduce() | 迭代数组的每一个元素 |
map() | 映射(对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组) |
find() | 查找(根据条件查找满足的第一个元素) |
flat() | 数组扁平化(参数为扁平化的深度,Number,可以是Infinity表示无穷) |
- concat()–连接一个或多个数组
var myArr1 = [1,2,3];
var myArr2 = [4,5,6];
var myArr3 = [7,8,9];
console.log(myArr1.concat(myArr2,myArr3)); //[1, 2, 3, 4, 5, 6, 7, 8, 9]
- join() --将数组元素拼接成字符串(参数接收拼接符)
var arr1 = [1,2,3];
console.log(arr1.join("到")); //'1到2到3'--以'到'对arr1数组的元素进行拼接
var arr2 = ['a','b','c'];
console.log(arr2.join('')); //'abc'--以空字符串为拼接符对arr2数组进行拼接
- reverse() --将数组元素进行反转
var arr = [1,2,3,4,5,'a'];
console.log(arr.reverse()); //['a',5,4,3,2,1]
- slice()–数组元素的截取
var arr = [1,2,3,4,5,6,7,8,9];
/*从开始下标截取到结束下标的元素(不包含结束下标)。
*当出现负数时,将负数加上数组长度的值(9)来替换该位置的数;*/
var arr1 = arr.slice(1,-1); //相当于arr.slice(1,8)
var arr2 = arr.slice(1,4);
var arr3 = arr.slice(-4,-2); //相当于arr.slice(5,7)
var arr4 = arr.slice(2); //相当于arr.slice(2,arr.length-1)
console.log(arr1); //[2,3,4,5,6,7,8]
console.log(arr2); //[2,3,4]
console.log(arr3); //[6, 7]
console.log(arr4); //[3,4,5,6,7,8,9]
- sort()–数组元素排序(参数接收一个排序函数)
var arr= [11,99,33,4,4,35