目录
一、翻转数组(reverse)
数组名.reverse()
reverse() 方法可以将数组中元素的位置颠倒,改变原数组
let array = ["国", "中", "爱", "我"];
console.log(array.reverse());
二、数组排序(sort)
数组名.sort()
sort() 方法对数组的元素排序,并返回数组,不改变原数组
1.数组排序(数值型):
let arr = [1, 5, 2, 7, 6];
let arr1 = [1, 50, 17, 6, 39];
arr.sort();
arr1.sort();
console.log(arr, arr1);
- sort() 方法对数字进行排序时,只适用于一位数的数字排序
升序、降序排序:
let arr = [1, 5, 2, 7, 6];
let arr1 = [1, 50, 17, 6, 39];
arr.sort(function (a, b) {
return b - a;//降序排序
});
arr1.sort(function (a, b) {
return a - b;//升序排序
});
console.log(arr, arr1);
三、获取数组元素索引
数组名.indexOf(数组元素)
indexOf() 方法的作用就是返回数组元素的索引号,从前往后查找
let array = ["red", "yellow", "ly", "zk", "blue","zk"];
console.log(array.indexOf("zk"));//输出:3
console.log(array.indexOf("aaa"));//输出:-1
- 当数组中有两个相同的元素时,它只返回第一个满足条件的索引号
- 当找不到满足条件的数组元素时,则返回-1
数组名.lastIndexOf(数组元素)
lastIndexOf() 方法的作用就是返回数组元素的索引号,从后往前查找
let array = ["red", "yellow", "ly", "zk", "blue", "zk"];
console.log(array.lastIndexOf("zk")); //输出5
console.log(array.lastIndexOf("aaa")); //输出-1
四、数组的includes方法
数组名.includes(数组元素)
includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。
let array = [23, 13, 12, 45, 0, NaN, "LY", false];
console.log(array.includes(NaN)); //true
console.log(array.includes("LY")); //true
console.log(array.includes("ly")); //false
console.log(array.includes(-0)); //true
console.log(array.includes(12, 3)); //false
console.log(array.includes(12, 2)); //true
console.log(array.includes(false, 8)); //false
- 使用
includes()
比较字符串和字符时是区分大小写的 - 0 的值将全部视为相等,与符号无关(即 -0 与 0 和 +0 相等),但
false
不被认为与 0 相等 includes(a,b)其中a表示数组元素,b表示索引,从索引b处开始查找。如果为负值,则按升序数组长度+b的索引开始搜索,默认为0
如果b大于数组长度,则将直接返回false,且不搜索该数组
五、检测是否为数组
数组名 instanceof Array
instanceof 运算符,用来检测是否为数组
let arr1 = [12, 3, 5, "ly", "zk"];
let arr2 = { title: "商品1" };
console.log(arr1 instanceof Array); //true
console.log(arr2 instanceof Array); //false
Array.isArray(数组名)
Array.isArray()方法用于判断一个对象是否为数组
let arr1 = [12, 3, 5, "ly", "zk"];
let arr2 = { title: "商品1" };
console.log(Array.isArray(arr2)); //false
console.log(Array.isArray([1, 2, 3])); // true
console.log(Array.isArray({ foo: 123 })); // false
console.log(Array.isArray("foobar")); // false
console.log(Array.isArray(null)); // false
六、Array.prototype.reduce()
reduce()
方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。
举例:求数组中每一项的和
<script>
let arr = [1, 2];
let sum = arr.reduce((acc, item) => {
return (acc += item);
}, 0);
console.log(sum);//输出3
</script>
- acc第一次循环是根据函数里的第二个参数
- 第二次循环acc是上一次计算的结果