数组作为js中非常重要且常用的一个对象,面试是必问的一个知识点,今天总结了一下它的常用方法
1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。改变原数组。
示例:let arr = [1, 2, 3]; arr.push(4); console.log(arr); // [1, 2, 3, 4]
2. pop() 方法:从数组的末尾删除一个元素,并返回被删除的元素。
示例:let arr = [1, 2, 3]; let last = arr.pop();console.log(last); // 3console.log(arr); // [1, 2]
3. shift() 方法:从数组的开头删除一个元素,并返回被删除的元素。
示例:let arr = [1,2,3]; let first = arr.shift(); console.log(first); // 1console.log(arr);// [2, 3]
4. unshift() 方法:在数组的开头添加一个或多个元素,并返回新数组的长度。
示例:let arr = [1, 2, 3]; arr.unshift(0); console.log(arr); // [0, 1, 2, 3]
5.slice() 方法:返回数组的部分元素,创建一个新数组。
示例:let arr = [1, 2, 3, 4, 5] ;let sliced = arr.slice(2, 4); console.log(sliced); // [3, 4]console.log(arr); // [1, 2, 3, 4, 5]
6.splice() 方法:向/从数组中添加/删除元素。改变原数组。
示例:let arr = [1, 2, 3]; arr.splice(1, 1, 4);console.log(arr); // [1, 4, 3]
7. concat() 方法:连接两个或多个数组,并返回结果数组。
示例:let arr1 = [1, 2];let arr2 = [3, 4];let arr3 = arr1.concat(arr2);console.log(arr3); // [1, 2, 3, 4]
8.join() 方法:将数组中的所有元素放入一个字符串。
示例:let arr = [1, 2, 3];let str = arr.join('+');console.log(str); // "1+2+3"
9.indexOf() 和 lastIndexOf() 方法:在数组中查找指定元素,并返回它的位置。
示例:let arr = [1, 2, 3, 2];let index1 = arr.indexOf(2);let index2 = arr.lastIndexOf(2);console.log(index1); // 1console.log(index2); // 3
10.sort() 方法:对数组进行排序。
示例:let arr = [3, 1, 4, 2];arr.sort();console.log(arr); // [1, 2, 3, 4]
11.reverse(),将数组倒序。原数组改变。
示例: const a = [1, 2, 3];console.log(a); // [1, 2, 3]a.reverse();console.log(a); // [3, 2, 1]
12. Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。
13. forEach() 方法用于对数组中的每个元素执行一次给定的函数,返回值为 undefined,且不可链式调用 arr.forEach(callback(currentValue [, index [, array]])[, thisArg]);
14.Array.every(function),对数组中的每一项进行判断,若都符合则返回true,否则返回false。
15.indexOf() 检测当前值在数组中第一次出现的位置索引;参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置。
16. includes() 判断一个数组是否包含一个指定的值,参数:指定的内容;返回值:布尔值
17.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。
18.Array.slice() 按照条件查找出其中的部分内容,返回一个新数组,不改变原数组
参数:array.slice(n, m),从索引n开始查找到m处(不包含m)
array.slice(n) 第二个参数省略,则一直查找到末尾
array.slice(0)原样输出内容,可以实现数组克隆
总结一下:改变原数组的方法有:push、pop、shift、unshift、reverse、sort、splice,
不改变原数组的方法有:concat、map、filter、join、every、some、indexOf、slice、forEach