JS(一)[数组的增删改查]

push

push()可以把一个或多个元素添加到数组的末尾,返回数组的长度。
新建数组arr元素为1 2 3,console.log(arr.push(4)) 执行 console 时已经触发了push在arr数组中添加了数字4,所以返回的是数组长度4,在看arr数组1 2 3 4 在末尾添加成功:

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

在这里插入图片描述

unshift

unshift()可以在数组的最前方添加一个或多个元素,并返回新的长度。
例子:

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

在这里插入图片描述

concat

concat() 这个方法可以连接一个或多个数组和字符串,但不会改变原数组,返回一个该数组的副本。
建立两个数组,进行连接,然后打印原数组和concat方法的数组,可以看到arr数组不变,但是arr.concat(arr1)的值添加了arr1的元素,添加的对象为数组时不会添加整个数组而是把该数组的元素添加进去:

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

在这里插入图片描述
可以创建一个新的空数组来接收这个concat方法的副本:

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

在这里插入图片描述

splice()方法也可删除,下面列出别的删除方法

pop

pop()push() 都是末尾,单pop是删除末尾的元素。但是pop返回的是删除的那个元素,如删除了数字1,那pop的结果就是1,pop会改变原数组。
我们来看例子,打印pop方法结果为3,删除的也是3,而arr数组已经没有了数字3:

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

在这里插入图片描述

shift

shift()unshift()相反,shift是删除第一个的元素,返回删除的第一个元素,并且改变原数组。
删除arr中的第一个元素,返回结果为1,原数组改成为2 3:

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

在这里插入图片描述

slice

slice(),用于截取数组的某一部分返回被截取的那部分数组。不会改变原数组。可以对字符串使用。
写法:
slice(从哪里开始接错,到哪里结束)可以是负数如-1就是末尾开始,如果第二个参数不填就是截取到末尾超过数组的长度也是到末尾结束。
例子:
从1到第五位

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

在这里插入图片描述
在试试负数,结束位置不写看看效果:

var arr = [1,2,3,4,5];
console.log(arr.slice(-3)) //[3, 4, 5]

在这里插入图片描述

splice

splice() 用于添加/删除数组中的元素,会改变原数组,可以选择从哪个位置开始删除/添加,删除/添加几个。
我们先添加一个数字试试,splice(添加或删除的索引位置,删除的个数如不填删到末尾,添加的元素)

var arr = [1,2,3];
arr.splice(3,0,4) //从索引3开始删除0个添加数字4
console.log(arr); //1 2 3 4 

在这里插入图片描述
我们在进行一下删除:

var arr = [1,2,3];
arr.splice(1,1)
console.log(arr);

在这里插入图片描述
还可以从中间删除然后在添加进行更改:
从第二位删除两位添加数字8

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

在这里插入图片描述

indexof

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置(索引),如果没有这个值会返回-1。
查找6,返回的是4,是索引值。在查8,数组中并没有所以返回-1可以利用这个特性做出数组去重:

var arr = [1,2,3,5,6,7];
console.log(arr.indexOf(6)) //4 返回索引位置。
console.log(arr.indexOf(8)) //-1

去重:

var arr1 = [1, 3, 4, 5, 5,6,1,2,3,5,4,4,8,8,9,6];
        function find() {
            var newArr = [];
            for (var i = 0; i < arr1.length; i++) {
                if (newArr.indexOf(arr1[i]) == -1) {
                    newArr.push(arr1[i]);
                }
            }
            document.write(newArr);
        }
        find(arr);

lastIndexOf

lastIndexOf() 方法可返回某个指定的字符串值在字符串中最后出现的位置(索引),如果没有这个值会返回-1。
这个方法就是和indexof相反的,indexof是首次出现而lastIndexOf是最后出现。
例子:

var arr = [1, 2, 2, 3, 3, 4,4];
console.log(arr.lastIndexOf(3)) //4 返回索引位置。
console.log(arr.lastIndexOf(8)) //-1

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值