【JS总结】JS操作数组的完整方法与使用总结

数组是用于存储大量数据常用的类型,因此操作数组的方法很多,在此我做个总结,便于在要管理数据时有个条件反射。

1.concat()

定义:concat()方法用于连接两个或多个数组。

实例:

	  var arrA = ["A", "B", "c"];
      var arrB = ["a", "b", "c"];
      var arrC = [1, 2, 3];
      var newArr = arrA.concat(arrB, arrC);
      console.log(newArr);

在这里插入图片描述
注意:

  • concat()的参数可以是一个或多个,它会将调用它的数组(上面的arrA)以及参数中的数组按从左到右的顺序进行连接。
  • 该方法不会改变现有的(进行连接的)数组,而仅仅会返回被拼接后的数组的副本。
2. every()

定义:用于检测数组所有元素是否都符合指定条件(通过函数提供)。

  • 如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回true。

注意:

  • every()不会对空数组进行检测。
  • every()不会改变原始数组。

实例:检测数组是否所有元素都大于20

 	  var arr = [12, 40, 50, 60];
      function isRight(currentValue) {
        return currentValue > 20;
      }
      var isTrue = arr.every(isRight);
      console.log(isTrue);

在这里插入图片描述

3. filter()

定义:filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。(通过函数提供)

注意:

  • filter()不会对空数组进行检测。
  • filter()不会改变原始数组。
  • 返回值:一个数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。

实例:返回所有成年人的年龄

    var ages = [12, 40, 50, 60];
      function checkAdult(age) {
        return age >= 18;
      }
      var arr = ages.filter(checkAdult);
      console.log(arr);

在这里插入图片描述

4. indexOf()||lastIndexOf()

定义:indexOf()方法可返回某个指定的字符串值在数组或字符串中首次出现的位置。

  1. 该方法从头到尾地检索数组或字符串,看它是否含有子字符串searchValue。如果找到一个searcnValue,则返回searchValue的第一次出现的位置。
  2. 如果在数组中没找到字符串则返回-1 。

语法:

array.indexOf(item,start)||string.indexOf(item,start)

参数:

  • item:查找的子元素
  • start:从哪个下标开始查找

实例:数组、字符串查找子元素

 	  var ages = [12, 40, 50, 60];
      var str = "I am xxx";
      console.log(ages.indexOf(40));
      console.log(ages.indexOf(40, 3));//因为40位于数组的下标1处,从3开始查找,故找不到40
      console.log(str.indexOf("am"));

在这里插入图片描述

定义: 返回一个指定字符串最后出现在数组或字符串的位置,在一个数组或字符串的指定位置从后向前搜索。

由于与indexOf()类似,则不再举例。

5. join()

定义:join()方法把数组中的所有元素转换为一个字符串。

语法:

	array.join(separator)
  • 数组转化为字符串是通过separator进行分隔的。
  • 该参数可选,如果省略,则默认使用逗号作为分隔符。
  • 返回值:一个字符串

实例:

      var arr = ["我是", "来自", "广大", 18, "级", "的学生"];
      var str = arr.join("");
      console.log(str);

在这里插入图片描述

6. map()

定义:map()方法返回一个新数组,新数组中的元素为原始元素调用函数处理后的值。map()方法按照原始数组元素顺序依次处理元素。(通过函数提供)

注意:

  • map()不会对空数组进行检测。
  • map()不会改变原始数组。

实例:对元素进行增大两倍

      var arr = [12, 23, 34, 45];
      function change(value) {
        return value * 2;
      }
      var newArr = arr.map(change);
      console.log(newArr);

在这里插入图片描述

7. pop()&&shift()

pop()定义:用于删除数组最后一个元素并返回删除的元素。

注意: 这个方法改变原数组。

实例:

      var arr = [12, 23, 34, 45];
      var hasDelete = arr.pop();
      console.log(arr, hasDelete);

在这里插入图片描述
数组最后一个元素45被删除并返回值。

shift()定义:用于把数组的第一个元素删除,并返回该删除值。

由于两者使用方式类似,不再举例。两者的区分在于删除元素的位置。

8. push()&&unshift()

push()定义:向数组的末尾添加一个或多个元素,并返回数组新的长度

注意

  • 改变原数组。
  • push()的参数可以是一个或多个

实例:

      var arr = [12, 23, 34, 45];
      var len = arr.push("哈哈", "编程开心");
      console.log(arr, len);

在这里插入图片描述
有多少个参数就添加几个元素。

unshift()定义: 向数组开头添加一个或多个元素。

实例同上,两者区分在于:数组添加元素的位置。

9. reverse()

定义:反转数组元素。

实例:

      var arr = [12, 23, 34, 45];
      var len = arr.push("哈哈", "编程开心");
      arr.reverse();
      console.log(arr);

在这里插入图片描述

10. slice()

定义:返回数组中给定范围的元素。

实例:

	  var arr = [12, 23, 34, 45];
      var value = arr.slice(0, 3);
      console.log(value);

注意:slice()的参数范围是左开右闭,即取不到第二个参数,而是参数-1。

11. some()

定义:该方法会依次检查数组元素是否有元素满足某条件(通过函数提供)。

  • 如果数组中有一个元素满足条件,即返回true,并不再往下检查。
  • 当数组中没有元素满足,则返回false。
  • some()不会改变原数组。

实例:是否有人未成年

      var arr = [12, 23, 34, 45];
      function check(value) {
        return value < 18;
      }
      var isRight = arr.some(check);
      console.log(isRight);

在这里插入图片描述

注意:只要一个元素满足即为true。

12. sort()

定义:用于对数组元素进行排序,默认是按字母排序。想要对数字排序,则需自定义sort()。

注意:

  • 当数字是按字母顺序排列时,字符串“30”将排在“2”的前面。
  • 使用数字排序,你必须通过一个函数作为参数来调用。
  • 函数指定数字按升序还是降序排列。
  • 改变原数组。

实例1:默认字母排序

      var arr = ["why", "am", "yes", "33", "5"];
      console.log(arr.sort());

在这里插入图片描述
注意:字符串数字的排序。

实例2:数字升序排序

      var arr = [23, 12, 45, 34];
      arr.sort((a, b) => {
        return a - b;//降序为b-a
      });
      console.log(arr);

在这里插入图片描述

13. toString()

定义:该方法用于把数组转换为字符串,并返回结果。

注意:

  • toString()转化为字符串,数组中的元素用逗号分隔。
  • join()转化为字符串可以用任意分隔符。

实例:

      var arr = ["我是", 12, "广大", 34, "学生"];
      var result = arr.toString();
      console.log(result);

在这里插入图片描述

14. splice() 用法超多

定义:用于插入、删除或替换数组的元素。

方法参数:

参数描述
index必须。规定从何处添加、删除元素。该参数是开始插入或删除的数组元素的下标,必须是数字,从0开始
howmany必须。规定应该删除多少元素。必须是数字,也可以是0,如果未规定此参数,则删除从index开始到原数组结尾的所有元素
item1,…,itemX可选,任意个参数,用于插入或替换数组元素

实例1:删除元素

      var arr = ["我是", 12, "广大", 34, "学生"];
      arr.splice(1, 2);
      console.log(arr);

只有两位参数:

  • 参数1:从下标为1处开始添加或删除元素。
  • 参数2:删除2个元素

在这里插入图片描述

实例2:不删除并插入元素

      var arr = ["我是", 12, "广大", 34, "学生"];
      arr.splice(1, 0, "女神", "鸭绒");
      console.log(arr);

参数:

  • 参数1:从下标为1开始添加或删除元素
  • 参数2:参数为0表示不删除元素
  • 后面参数:表示为插入数组的元素

在这里插入图片描述
注意:元素插入的位置根据参数一决定。

实例3:删除并添加元素(即替换元素)

      var arr = ["我是", 12, "广大", 34, "学生"];
      arr.splice(1, 2, "女神", "鸭绒");
      console.log(arr);

参数:删除两位元素再插入两位元素(可以插入更多)。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值