Javascript 数组Array的常用方法

push()     在数组尾部添加一个或多个元素,并返回新增元素之后数组的长度,影响原数组

var arr = [1, 2, 3, 4];
arr.push(5);//添加一个元素
arr.push(6, 7);//一次添加多个元素
console.log(arr);

输出: (7) [1,2,3,4,5,6,7]

unshift()  在数组头部添加一个或多个元素,并返回新增元素之后数组的长度,影响原数组

var arr = [1, 2, 3, 4];
arr.unshift(5); //添加一个元素
arr.unshift(6, 7); //一次添加多个元素
console.log(arr);

输出: (7) [6,7,5,1,2,3,4] 

pop()     删除数组尾部的元素  (一次只能删一个),并返回被删除的元素,影响原数组

var arr = [1, 2, 3, 4, 5, 6];
arr.pop();
console.log(arr);

输出: (5) [1,2,3,4,5]

返回值  6

shift()     删除数组头部的元素  (一次只能删一个),并返回被删除的元素,影响原数组

var arr = [1, 2, 3, 4, 5, 6];
arr.shift();
console.log(arr);

输出: (5) [2,3,4,5,6] 

返回值  1

splice()  任意位置的增删改

         删除

            语法:   splice(startIndex,length)   返回被删除的元素形成的数组,影响原数组

 

                       startIndex    起始下标

                       length    删除元素的个数

  实例:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.splice(1, 2);
console.log("原数组" + arr);
console.log("被删除元素组成的新数组" + list);

输出:  arr   [1,4,5,6] 

          list   [2,3]

       增加

          语法:  splice(startIndex, 0,arg1,arg2,....argN)   返回空数组 (没有删除元素),影响原数组

 

                    startIndex  起始下标(新增的起始位置)

                    0           删除个数为0即不进行删除

                    arg1,arg2,....argN    自第三参数开始 可以新增一个或多个元素

实例:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.splice(3, 0, 7, 8, 9);
console.log("原数组" + arr);
console.log("被删除元素组成的新数组" + list);

输出: arr [1,2,3,7,8,9,4,5,6] 

         list []

      修改

          语法: splice(startIndex, length,arg1,arg2,....argN) (本质 先删除对应位置的元素 在新增)

               startIndex  起始下标(新增的起始位置)

               length      删除的元素的个数

               arg1,arg2,....argN    自第三参数开始 可以新增一个或多个元素

实例:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.splice(2, 2, 7, 8);
console.log("原数组" + arr);
console.log("被删除元素组成的新数组" + list);

  输出: arr [1,2,7,8,5,6]  

           list [3,4]

slice(startIndex,endIndex)   数组的裁切,并返回裁切的元素形成的数组(新数组),不影响原数组

     startIndex  起始下标     默认值 0

             tips: 该参数可以为负值,如果为负值,则表示从原数组中的倒数第几个元素开始提取

     endIndex   终止下标      默认值 length

             tips: 在该索引处结束提取原数组元素,slice 会提取原数组中索引从 startIndex 到 endIndex 的所有元素(包含 startIndex,但不包含 endIndex

实例1:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.slice(0, 2);
console.log("原数组" + arr);
console.log("被裁切元素组成的新数组" + list);

输出:  arr [3,4,5,6]

          list [1,2]

如果slice在不传参的情况下,会拷贝原数组

实例2:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.slice();
console.log("原数组" + arr);
console.log("被裁切元素组成的新数组" + list);

输出: arr [1,2,3,4,5,6] 

         list [1,2,3,4,5,6]

concat()   数组的拼接  可以将多个数组和元素拼接形成新的数组,并返回拼接后的新数组,不影响原数组

       tips:  如果拼接是一个数组,则先将数组展开(遍历数组 获取每一个元素),在将每一个元素放到新数组中

                如果拼接是一个元素(值),直接放到新数组中

实例1:

var arr = [1, 2, 3, 4, 5, 6];
var arr2 = [7, 8, 9, 10];
var list = arr.concat(arr2);
console.log("拼接后组成的新数组" + list);

输出:  arr [1,2,3,4,5,6]

          arr2 [7,8,9,10]

          list [1,2,3,4,5,6,7,8,9,10] 

实例2:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.concat("a");
console.log("拼接后组成的新数组" + list);

输出: arr [1,2,3,4,5,6] 

          list  [1,2,3,4,5,6,"a"]

实例3:  concat()在不传参的情况下,默认拷贝原数组

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.concat();
console.log("拼接后组成的新数组" + list);

输出:  arr [1,2,3,4,5,6] 

          list  [1,2,3,4,5,6]

join()    用特定的字符 将数组拼接为字符串,并返回拼接之后字符串,不影响原数组

实例:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.join("-");
console.log("拼接后组成的字符串" + list);

输出: arr [1,2,3,4,5,6] 

         list  "1-2-3-4-5-6"

Tips: 有不少小伙伴会把arr.join("")跟arr.join()弄混淆,我来举个栗子让大伙看看他们之间的区别吧

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.join("");
var list2 = arr.join();
console.log(list);
console.log(list2);

输出:  arr [1,2,3,4,5,6]

          list "123456"

          list2  "1,2,3,4,5,6"

从输出结果不难看出,前者是通过空字符串将原数组拼接为字符串,而后者则是将数组转化为字符串

indexOf()   判断数组中是否存在某个元素

           返回值: 存在则返回对应元素的下标,不存在则返回-1

实例:

var arr = [1, 2, 3, 4, 5, 6];
var index = arr.indexOf(5);
console.log("原数组" + arr);
console.log("返回对应的下标" + index);

输出: arr [1,2,3,4,5,6]

         index  4

includes()   判断数组中是否存在某个元素 

          返回值   存在返回true   不存在返回false

var arr = [1, 2, 3, 4, 5, 6];
var flag = arr.includes(5);
console.log("原数组" + arr);
console.log(flag);

输出: arr [1,2,3,4,5,6]

         flag  true

reverse()    数组的逆序,并返回翻转后的原数组,影响原数组 

实例:

var arr = [1, 2, 3, 4, 5, 6];
var list = arr.reverse();
console.log("原数组" + arr);
console.log("翻转后的数组" + list);

 输出: arr [6,5,4,3,2,1]

          list [6,5,4,3,2,1]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值