数组的常用放法

数组的方法

1.push尾部添加
功能:尾部添加一个或多个元素,改变原数组,生成新数组返回值:新数组的长度

var arr=[1,2,"a"]
    var rel=arr.push("A","b")
    console.log(arr);// [1, 2, 'a', 'A', 'b'] 生成新数组
    console.log(rel);//5 //返回数组的长度

2.unshift头部添加
功能:头部添加一个或多个元素,改变原数组,生成新数组返回值:新数组的长度

 var arr=[1,2,"a"]
    var rel=arr.unshift("A","b")
    console.log(arr);//['A', 'b', 1, 2, 'a'] 生成新数组
    console.log(rel);//5  返回数组的长度

3.pop尾部删除
功能:删除数组中的最后一位返回值:返回的是被删除的数据

 var arr=[1,2,"a"]
    var rel=arr.pop()
    console.log(arr);//[1, 2] 生成新数组
    console.log(rel);//a  //返回被删掉的最后一位

4.shift头部删除
功能:删除数组中的第一位返回值:返回的是被删除的数据

 var arr=[1,2,"a"]
    var rel=arr.shift()
    console.log(arr);//[2, 'a']  生成新数组
    console.log(rel);//1  返回被删掉的第一位

5.reverse数组反转
功能:反转数组中的元素返回值:返回的是反转后的数组

var arr=[1,2,3,"a","b","c"]
    var rel=arr.reverse()
    console.log(arr);//['c', 'b', 'a', 3, 2, 1]  改变原数组
    console.log(rel);//['c', 'b', 'a', 3, 2, 1]  返回反转后的数组

6.sort排序
功能:对数组进行重新排序,默认是根据字符的Unicode进行排序返回值:返回新数组

var arr=[1,4,3,8,6,"a","d","e","c"]
    arr.sort()
    console.log(arr);//[1, 3, 4, 6, 8, 'a', 'c', 'd', 'e']

7.splice指定删除
功能:在数组中的任意位置上删除指定的元素和个数返回值:被删掉的元素

 var arr=[1,'a','b',4,5]
    var rel=arr.splice(1,2)
    //里面有两个值,第一个值是下标,第二个值是要删除的个数,从下标1开始删除两个元素
    console.log(arr);//[1,4,5]
    console.log(rel);//['a','b']

8.concat拼接
功能:合并现有的数组创建出一个新的数组

返回值:返回合并之后的数组

 var arr=[1,2,3]
    var arr1=['a','b','c']
    var rel=arr.concat(arr1)
    console.log(rel); //[1, 2, 3, 'a', 'b', 'c'] 

9.join拼接字符串
功能:通过特殊的字符拼接,默认是拼接为字符串

返回值:返回拼接后的新数组

 var arr=[1,2,3,4,5]
    var rel=arr.join('')
    var rel2=arr.join('-')
    var rel3=arr.join('+')
    console.log(rel);//12345
    console.log(rel2);//1-2-3-4-5
    console.log(rel3);//1+2+3+4+5

10.slice截取
功能:截取数组中指定位置的元素

返回值:被截取的元素形成的新数组

 var arr=[1,2,'a','b',3,'c']
    var rel=arr.slice(0,3)//两个值,第一个是下标,第二个是要截取的个数
    console.log(rel);// [1, 2, 'a']

11.toString转为字符串
功能:将数组转换为字符串,不改变原数组

返回值:返回一个新数组

var list = ["a", "b", "c", "d"];
    var rel = list.toString();
    console.log(rel);   // a,b,c,d   (字符串类型)

12.valueOf查询数组原始值
功能:查询数组的原始值

返回值:返回数组的原始值(一般情况下其实就是数组自身)

 var arr = [1, 2, 3, 4];
    var rel = arr.valueOf();
    console.log(arr); // [1, 2, 3, 4]
    console.log(rel); // [1, 2, 3, 4]

13.indexOf查询
功能:查询某个元素在数组中第一次出现的位置

返回值: 存在该元素,返回下标,不存在 返回 -1 (可以通过返回值 变相的判断是否存在该元素)

 var arr = [1, 2, 3, 4];
    var index = arr.indexOf(4); //3
    var index = arr.indexOf("4"); //-1
    console.log(index);

14.lastldexOf反向查询
功能:查询某个元素在数组中最后一次出现的位置 (或者理解为反向查询第一次出现的位置)

返回值:存在该元素,返回下标,不存在 返回 -1 (可以通过返回值 变相的判断是否存在该元素)

 var arr = [1, 2, 3, 4];
    var index = arr.lastIndexOf(4); //3
    var index = arr.lastIndexOf("4"); //-1
    console.log(index);

15.forEach遍历
功能:遍历数组,每次循环中执行传入的回调函数 。(注意: forEach() 对于空数组是不会执行回调函数的)

返回值:没有返回值,或理解为返回值为undefined,不改变原数组

 var arr = [11, 22, 33, 44, 55];
    var rel = arr.forEach(function (item, index, array) {//三个值,元素,下标,数组本身
      console.log(item, index, array);
    });
控制台返回
元素   下标   数组
11      0     [11, 22, 33, 44, 55]
22      1     [11, 22, 33, 44, 55]
33      2     [11, 22, 33, 44, 55]
44      3     [11, 22, 33, 44, 55]
55      4     [11, 22, 33, 44, 55]

16.map遍历
功能: 遍历数组, 每次循环时执行传入的回调函数,根据回调函数的返回值,生成一个新的数组 , 同forEach() 方法

返回值:自定义

var arr = [32, 93, 77, 53, 38, 87];
    var res = arr.map(function (item, index, array) {
      return item + 5 * 2;
    });
    console.log("原数组", arr); //原数组  [32, 93, 77, 53, 38, 87]
    console.log("新数组", res); //新数组  [42, 103, 87, 63, 48, 97]

17.filter过滤
功能:过滤出满足条件的元素

返回值:满足条件的元素组成的新数组

 var arr = [22, 0, 1, 3, 55, 78];
    var rel = arr.filter(function (item, index, array) {
      return item >= 10; // true || false
    });
    console.log(rel);//[22, 55, 78]

18.every判断
功能:遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,全都满足返回true 只要有一个不满足 返回false ,全真则真,一假则假

返回值:true或者false

 var arr = [4,6,8,9,10];
        var rel = arr.every(function (item, index, array) {
          console.log(item, index, array);// 4 0 [4, 6, 8, 9, 10]
          return item >= 5;
        });
        console.log(rel);  //false

19.some判断
功能: 遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,只要有一个元素满足条件就返回true,都不满足返回false ,一真则真,全假才假

返回值:true或者false

 var arr = [1, 2, 3, 4,6];
        var rel = arr.some(function (item, index, array) {
            console.log(item, index, array);//
            return item >= 5;
        });
        console.log(rel);  //true

20.reduce求和
功能:将元素进行计算处理,得到想要的结果

返回值:操作完的结果

 var arr = [2, 3, 4, 5];
        var rel= arr.reduce((sum,item)=>sum+=item,0)
        console.log(rel);//14

21.includes判断
功能:判断一个数组是否包含一个指定的值

返回值:如果有返回 true,否则false

var arr=[1,2,3,4,5]
        var rel= arr.includes(2)
        console.log(rel);//true
        var rel2=arr.includes(9)
        console.log(rel2);//false

22.find
功能:遍历数组,返回满足条件的第一个元素,不存在则返回undefined

返回值:满足条件的第一个元素/undefined

var arr = [55, 66, 77, 88, 99, 100];
        var rel = arr.find(function (item, index, array) {
            return item > 60;
        });
        console.log(rel); //66

23.findIndex
功能:遍历数组,返回满足条件的第一个元素下标,不存在则返回-1

返回值:返回满足条件的第一个元素下标,不存在=>-1

 var arr = [1, 12, 53, 88, 99, 66];
        var index = arr.findIndex(function (item, index, array) {
            console.log(item, index, array);
            return item > 60;
        });
        console.log(index); // 3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值