【问题标题】:How to remove multiple sequential items of an array - JavaScript如何删除数组的多个连续项 - JavaScript
【发布时间】:2014-10-09 14:31:30
【问题描述】:

我很想知道如何在不创建循环的情况下快速、最有效地从 JavaScript 中的数组中删除多个项目。

示例:

var array = [1,2,3,4,5,6,7,8,9];
array.remove[0..4]; //pseudo code

console.log(array);//result would then be [6,7,8,9]

是否有此功能,或者是否需要自定义循环?我想这是一个初步的问题,但只是出于好奇而想知道。

【问题讨论】:

  • 你可以在javascript中使用 slice 获取数组的子集

标签: javascript arrays loops methods


【解决方案1】:

使用Array#splice:

var array = [1,2,3,4,5,6,7,8,9];
array.splice(0, 4); // returns [1,2,3,4]
console.log(array); // logs [5,6,7,8,9]

【讨论】:

    【解决方案2】:

    你可以在数组上使用 .slice()。

    var array = [1,2,3,4,5,6,7,8,9];
    array = array.slice(5,array.length);
    

    【讨论】:

    • [].slice() 永远不会从数组中删除项目,它会创建一个新数组。
    • 然后将其分配给原始对象数组实际上会删除项目。
    • 好点 - 一个很好的解决方案,虽然它确实创建了一个新数组。谢谢布拉德利!
    【解决方案3】:

    使用filter方法

    var a = [1,2,3,4,5,6,7,8,9], b = [];
    b = a.filter(function(element, index){ return index > 4 });
    

    b[]的输出

    [6,7,8,9]
    

    【讨论】:

    • [].filter 永远不会从数组中删除项目,谢天谢地。
    猜你喜欢
    • 2020-11-16
    • 1970-01-01
    • 2021-02-22
    • 2013-07-16
    • 1970-01-01
    • 2020-03-06
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多