1.添加
1. push(): 在数组末尾添加一个或多个元素,返回值是数组的长度,改变原数组
<script>
var arr = [1, 2, 3];
var arr1 = arr.push(4);
console.log(arr) //[1, 2, 3, 4]
console.log(arr1) //4
</script>
2. unshift(): 在数组开头添加一个或多个元素,返回值是数组的长度,改变原数组
<script>
var arr = ["a", "b", "c"];
var arr1 = arr.unshift("d");
console.log(arr) //['d', 'a', 'b', 'c']
console.log(arr1) //4
</script>
3. concat(): 用于连接两个或多个数组,返回值是新数组,不改变原数组;
注意:这个方法连接的是数组的元素,而非数组本身,但不能扁平化数组中的数组
<script>
var arr = [1,2,3];
var arr1 = arr.concat([4,5]);
console.log(arr) //[1, 2, 3]
console.log(arr1) //[1, 2, 3, 4, 5] 连接的是数组元素
var arr2 = ["a","b","c"];
var arr3 = arr.concat(["d",["e","f"]]);
console.log(arr2); //['a', 'b', 'c']
console.log(arr3); //[1, 2, 3, 'd',["e","f"]] 不能扁平化数组中的数组
</script>
2.替换
3.删除
1. shift(): 删除数组的第一个元素,返回值是被删除的元素,改变原数组
<script>
var arr = [1,2,3];
var arr1 = arr.shift();
console.log(arr); //[2, 3]
console.log(arr1); //1
</script>
2. pop(): 删除数组的最后一个元素,返回值是被删除的元素,改变原数组
<script>
var arr = ["a","b","c"];
var arr1 = arr.pop();
console.log(arr); //['a', 'b']
console.log(arr1); //'c'
</script>
4. 查找
1. indexOf(): 查找数组元素所对应的下标;如果数组中存在该元素,返回的是该元素对应的下标,否则返回-1;不改变原数组
注意:返回的元素第一次出现的位置
<script>
var arr = ["a","b","c"];
var arr1 = arr.indexOf("a");
var arr2 = arr.indexOf("e");
console.log(arr); //['a', 'b', 'c']
console.log(arr1); // 0
console.log(arr2); // -1
</script>
2. find(): 返回通过测试(函数内判断)的数组的第一个元素的值;不改变原数组
<script>
var arr = ["a","b","c"];
var arr1 = arr.find((currentVal,index,arr) => {
return currentVal == "b";
});
console.log(arr); //['a', 'b', 'c']
console.log(arr1); // 'b'
</script>
3. findIndex(): 返回通过测试(函数内判断)的数组的第一个元素的下标;不改变原数组
<script>
var arr = ["a","b","c"];
var arr1 = arr.findIndex((currentVal,index,arr) => {
return currentVal == "b";
});
console.log(arr); //['a', 'b', 'c']
console.log(arr1); // 1
</script>
4 includes(): 用来判断数组是否包含指定的元素;如果是返回true,否则返回false;不改变原数组
<script>
var arr = ["a","b","c"];
var arr1 = arr.includes("c");
var arr2 = arr.includes("d")
console.log(arr); //['a', 'b', 'c']
console.log(arr1); // true
console.log(arr2); //false
</script>
5.截取
slice(): 从已有的数组中截取选定的元素;返回值是截取的数组;不改变原数组
参数:
参数1(start):从何处开始选取
参数2(end):从何处结束选取
注意:返回的数组不包括结束位置
<script>
var arr = ["a","b","c"];
var arr1 = arr.slice(0,2);
console.log(arr); //['a', 'b', 'c']
console.log(arr1); //['a', 'b']
</script>
6. 排序
1. sort(): 对数组元素进行排序;返回排序后的新数组;改变原数组
a.不传参数,将不会按照数值大小排序,按照字符编码的顺序进行排序;
<script>
var arr = ["b","d","c","a"];
var arr1 = arr.sort();
console.log(arr); // ['a', 'b', 'c', 'd']
console.log(arr1); // ['a', 'b', 'c', 'd']
</script>
b.传入参数,实现升序,降序;
<script>
//升序
var arr = [4,2,3,1];
var arr1 = arr.sort((a,b)=>{
return a-b;
});
console.log(arr); // [1, 2, 3, 4]
console.log(arr1); // [1, 2, 3, 4]
//降序
var arr2 = [4,2,3,1];
var arr3 = arr.sort((a,b)=>{
return b - a;
});
console.log(arr2); // [4, 2, 3, 1]
console.log(arr3); // [4, 2, 3, 1]
</script>
2. reverse(): 反转数组;返回值是反转后的数组;改变原数组
<script>
var arr = ["a","c","b"];
var arr1 = arr.reverse();
console.log(arr); // ['b', 'c', 'a']
console.log(arr1); // ['b', 'c', 'a']
</script>
7.转换
join(): 数组转字符串,默认用逗号隔开;返回值是转换后的字符串;不改变原数组
<script>
var arr = ["a","b","c"];
var arr1 = arr.join();
var arr2 = arr.join("-");
console.log(arr); // ['a', 'b', 'c']
console.log(arr1); // a,b,c 默认用逗号隔开
console.log(arr2); // a-b-c
</script>
8.过滤
1. map(): 指“映射”;返回一个新数组,其包含通过所提供的函数实现的测试的所有元素;不改变原数组
<script>
var arr = [1,2,3];
var arr1 = arr.map((val) => {
return val*2
});
console.log(arr); // [1, 2, 3]
console.log(arr1); // [2, 4, 6]
</script>
2. filter(): 指“过滤”;返回一个新数组,数组中的元素,为原始数组元素调用函数处理后的值;不改变原数组
<script>
var arr = [1,2,3,4,5,6,7,8,9];
var arr1 = arr.filter((val) => {
return val > 5;
});
console.log(arr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr1); // [6, 7, 8, 9]
</script>