JavaScript-数组方法

目录

一、翻转数组(reverse)

数组名.reverse()

 二、数组排序(sort)

数组名.sort()

 三、获取数组元素索引

数组名.indexOf(数组元素)

数组名.lastIndexOf(数组元素)

 四、数组的includes方法

 数组名.includes(数组元素)

五、检测是否为数组 

数组名 instanceof Array

Array.isArray(数组名)

六、Array.prototype.reduce()


一、翻转数组(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是上一次计算的结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值