js数组方法的增删改查

一.增

1.push()

语法:arr.push(ele,ele2,ele3…);
在arr的最后添加一个或多个元素,返回新数组的长度改变原数组

   var arr = [1,2];
          var m = arr.push(3,4,5);
          console.log("原数组:",arr,"返回值:" + m);
          //原数组:  [1, 2, 3, 4, 5] 返回值:5

2.unshift()

语法:arr.unshift(ele,ele2,ele…);
在arr的最开头添加一个或多个元素,返回新数组的长度改变原数组

var arr = [1,2];
			var m = arr.unshift("a","b");
			console.log("原数组:",arr,"返回值:" + m);
			//原数组: ["a", "b", 1, 2] 返回值:4

3.splice()

splice(index,0,ele,ele1…)

语法:arr.splice(index,0,ele,ele1…);
从index位置开始向后截取arr,截取0个元素,从index位置开始,插入ele1,ele2,ele3…这些元素,返回新数组。改变原数组

  var arr = [4, 5, 6, 3, 7, 8, 8];
      arr.splice(2, 0, "a", "b");
      console.log(arr);
      // [4, 5, "a", "b", 6, 3, 7, 8, 8]

4.concat()

语法:arr.concat(arr1,arr2…);
将一个或多个数组合并到arr中返回合并后的新数组不改变原数组

        var arr = [4, 5, 6, 3, 7, 8, 8];
      var arr1 = ["a", "b"];
      var newArr = arr.concat(arr1, ["d", "f"]);
      console.log(arr, newArr);
      //[4, 5, 6, 3, 7, 8, 8]  [4, 5, 6, 3, 7, 8, 8, "a", "b", "d", "f"]

二.删

1.shift()

删除arr的第一个元素,返回删除的这个元素

 var arr = [1,2];
			var num = arr.shift();
			console.log("原数组:",arr,"返回值:" + num);
//原数组: [2] 返回值:1

2.pop()

删除arr的最后一个元素,返回删除的这个元素

   var arr = [1, 2];
        var num = arr.pop();
        console.log("原数组:", arr, "返回值:" + num);
//原数组: [1] 返回值:2

3.splice()

splice(index)

1.语法:arr.splice(index);
从index位置开始向后截取arr,截取的所有元素组成 新的一个数组返回,改变原数组

1.var arr = [4, 5, 6, 3, 7, 8, 8];
       var newArr = arr.splice(2);
       console.log(arr, newArr);
// [4, 5]     [6, 3, 7, 8, 8]

2. var arr = [4, 5, 6, 3, 7, 8, 8];
       var newArr = arr.splice(-2);//下标从最后开始数,最后一个元素的下标是-1
       console.log(arr, newArr);
// [4, 5, 6, 3, 7]   [8, 8]

3.var arr = [4, 5, 6, 3, 7, 8, 8];
       var newArr = arr.splice(100);//下标不存在 ,返回空数组
       console.log(arr, newArr);
       //[4, 5, 6, 3, 7, 8, 8] []
splice(index,num)

2.语法:arr.splice(index,num);
从index位置开始向后截取arr,截取的num个元素,组成 新的一个数组返回,原数组改变

1.var arr = [4, 5, 6, 3, 7, 8, 8];
      var newArr = arr.splice(3, 2);
      console.log(arr, newArr);
//[4, 5, 6, 8, 8]  [3, 7]

2.var arr = [4,5,6,3,7,8,8];
  		var newArr = arr.splice(3,-2);//返回空数组(num不能为负数)
  		console.log(arr,newArr);
  		// [4, 5, 6, 3, 7, 8, 8] []

4.slice()

slice();

1.语法:arr.slice();
将原来的数组的元素替换,返回新的数组。不改变原数组

var arr = [4, 5, 6, 3, 7, 8, 8];
     var newArr = arr.slice();
     newArr[0] = "aaaa";
     console.log(arr, newArr);
// [4, 5, 6, 3, 7, 8, 8]  ["aaaa", 5, 6, 3, 7, 8, 8]
slice(index);

2.语法:arr.slice(index);
从index位置开始向后截取arr,截取的所有元素组成 新的一个数组返回,不改变原数组

var arr = [4,5,6,3,7,8,8];
         var newArr = arr.slice(3);
 		console.log(arr,newArr);
 // [4, 5, 6, 3, 7, 8, 8]  [3, 7, 8, 8]
slice(startIndex,endIndex)

3.语法:arr.slice(startIndex,endIndex);
从index位置向后截取到endIndex-1位置,截取的所有元素组成新数组返回,不改变原数组

1.        var arr = [4,5,6,3,7,8,8];
         var newArr = arr.slice(3,5);
 		console.log(arr,newArr);
//[4, 5, 6, 3, 7, 8, 8]  [3, 7]

2.         var arr = [4,5,6,3,7,8,8];
         var newArr = arr.slice(3,0);//后面的下标位置不能低于前面的下标位置,否则返回空数组
 		console.log(arr,newArr);
//[4, 5, 6, 3, 7, 8, 8] []

3.         var arr = [4,5,6,3,7,8,8];
         var newArr = arr.slice(3,-2);//后面的下标是负数,从后往前找下标 
 		console.log(arr,newArr);
// [4, 5, 6, 3, 7, 8, 8]  [3, 7]

三.改

splice()

splice(index,num,ele,ele1…)

语法:arr.splice(index,num,ele,ele1…);
从index位置开始向后截取arr,截取num个元素,从index位置开始,插入ele1,ele2,ele3…这些元素,返回新数组。改变原数组

var arr = [4, 5, 6, 3, 7, 8, 8];
      var newArr = arr.splice(2, 1, "a", "b");
      console.log(arr, newArr);
   // [4, 5, "a", "b", 3, 7, 8, 8] [6]

四.查

indexOf()

无法查NaN

indexOf(ele)

语法:arr.indexOf(ele);
数组开头查找ele在arr中是否存在 ,如果存在返回所在下标,如果不存在返回-1

 var arr = [4, 5,NaN, 6, 7, 8, 9];
      console.log(arr.indexOf(5));//1
      console.log(arr.indexOf(NaN));//-1  不足:无法查找NaN
      console.log(arr.indexOf(45));//-1
indexOf(ele,index)

语法:arr.indexOf(ele,index);
index位置开始向后查找ele在arr中是否存在 ,如果存在返回所在下标,如果不存在返回-1

 var arr = [4, 5,NaN, 6, 7, 8, 9];
      console.log(arr.indexOf(4,5));//-1
      console.log(arr.indexOf(5,1));//1*斜体样式*
      console.log(arr.indexOf(5,-6));//1

lastIndexOf()

语法:arr.lastIndexOf(ele);
从后往前找

   var arr = [4, 5,NaN, 6, 7, 8, 9];
      console.log(arr.lastIndexOf(9));//1
      console.log(arr.lastIndexOf(NaN));//-1

includes();(ES6新增)

语法:arr.includes(val);
方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。该方法属于ES7,但Babel转码器已经支持。

 var arr = [1, 2, 3, 4, 5, 6, , NaN, 7];
        var flag = arr.includes(NaN);//true
        var flag = arr.includes(2);//true
        console.log(flag);

find(); (ES6新增)

找元素

var arr = [1, 2, 3, 4, 5, 6, 7];
        var ele=arr.find(function(ele,index,array){
            return ele>5;
        });
        console.log(ele);//6

findIndex(); (ES6新增)

找下标

 var arr = [1, 2, 3, 4, 5, 6, 7];
        var index = arr.findIndex(function (ele, index, array) {
            return ele > 5;
        });
        console.log(index);//5
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值