0
点赞
收藏
分享

微信扫一扫

JavaScript中的数组对象

眸晓 2022-03-24 阅读 50
javascript

1.向数组开头添加元素

unshift()向数组的开头添加一个或更多元素,并返回新的长度。

function _unshift(array,value) {
    array.unshift(value);
    return array;
}

2.向数组末尾添加元素

push()

向数组的末尾添加一个或更多元素,并返回新的长度。

function _push(array,value) {
    array.push(value);
    return array;
}

3.

描述

在数组 arr 末尾添加元素 item。结果返回新的数组。注意:不要直接修改数组 arr!!!

示例1

输入:

[1, 2, 3, 4],  10

输出:

[1, 2, 3, 4, 10]

(1)slice(start,end)方法,选取数组从start到end的部分,返回新的数组,在新数组上面添加元素

slice()选取数组的一部分,并返回一个新数组。

function append(arr, item) {
    var a = arr.slice(0);
    a.push(item);
    return a;
}

(2)直接使用concat(),它返回的是连接后的数组

方法描述
concat()连接两个或更多的数组,并返回结果。

function append(arr, item) {
    return arr.concat(item);
}

4.向数组指定位置添加

在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组

示例1

输入:

[1, 2, 3, 4], 'z', 2

复制输出:

[1, 2, 'z', 3, 4]
splice()从数组中添加或删除元素。

splice(index,howmany,item)有三个参数,

(1)index规定为从何处开始添加或者删除元素的下标

(2)howmany规定为删除多少个元素,可以是0,1,2,3(如果不规定,会删除从index到结尾的所有元素)

(3)item是要添加到数组的新元素

function insert(arr, item, index) {
    var a = arr.slice(0);
    a.splice(index,0,item);
    return a;
}

5.

描述

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组。

示例1

输入:

[1, 2, 3, 4, 2], 2

输出:

[1, 3, 4]

(1)创建一个空的数组,如果索引值不等于item,则将它插入到空数组中arr1中,返回它

function remove(arr, item) {
    const arr1 = [];
    for(var i = 0; i < arr.length; i++){
        if(arr[i] !== item){
            arr1.push(arr[i]);
        }
    }
    return arr1;
}

(2)利用filter()方法

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

 filter() 不会改变原始数组。

filter()检测数值元素,并返回符合条件所有元素的数组。

function remove(arr, item) {
    return arr.filter(function(x){
        return x!==item;
    });
}

6.

描述

移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果数组返回

示例1

输入:

[1, 2, 2, 3, 4, 2, 2], 2

输出:

[1, 3, 4]

function removeWithoutCopy(arr, item) {
    var count = 0;
    for(var i = 0; i <arr.length; i++){
        if(arr[i]==item){
            arr.splice(i,1);//如果i的索引值等于item,则删除从开始的1个元素
            i--;
        }
    }
    return arr;
}
 

7.

描述

删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组

示例1

输入:

[1, 2, 3, 4]

输出:

[1, 2, 3]

(1)

function truncate(arr) {
    var a =arr.slice(0);
    a.pop();
    return a;
}

a.pop()是删除数组最后一个元素的方法,

 return arr.pop()直接删除最后一个元素并返回删除后的数组。

(2)可以使用slice()直接返回

删除数组 arr 最后一个元素

return arr.slice(0,arr.length-1);

删除数组 arr 第一个元素

return arr.slice(1);

总结:使用unshift(),push(),pop(),shift()会改变数组长度,在某些情况下可以和slice(),splice(),concat()配合使用。

举报

相关推荐

0 条评论