javascript - 使用 splice 删除 Javascript 对象数组中某个位置之后的所有元素

标签 javascript arrays json

我想知道有没有一种简单的方法可以在关键位置之后拼接出所有元素。

array.splice(index,howmany,item1,.....,itemX)

文档说指定要删除的元素数量的第二个元素是必填字段,完成此操作是否有警告?

P.S - 不是在寻找正常的蛮力解决方案。

最佳答案

I am wondering if there is an easy way to splice out all elements after a key position in a json array.

如果它是一个关键位置之后的所有元素,你这样做:

array.length = theKeyPosition;

例如:

var array = [
    "one",
    "two",
    "three",
    "four",
    "five",
    "six"
];
var theKeyPosition = 3;
array.length = theKeyPosition; // Remove all elements starting with "four"

如果您还不知道关键位置,在 ES5 环境中(并且可以填充),您可以使用 filter:

var array = [
    "one",
    "two",
    "three",
    "four",
    "five",
    "six"
];
var keep = true;
array = array.filter(function(entry) {
    if (entry === "four") {
        keep = false;
    }
    return keep;
});

这是使用字符串,但您可以轻松地将 if (entry === "four") { 更改为 if (entry.someProperty === someValue) { for你的对象数组。

关于javascript - 使用 splice 删除 Javascript 对象数组中某个位置之后的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24862347/

相关文章:

javascript - 在 Chrome 扩展程序中存储用户数据的选项

java - 从结果中识别出 "best bang for the buck"项

javascript - 如何继续检查数组直到满足特定条件

json - 在 config.json 文件中输入自定义类型值

json - JSON模式属性取决于先前属性的值

javascript - mongodb 按最后一条记录到第一条记录的顺序查找

javascript - JavaScript 中的 2 级继承

javascript - 根据下拉列表中的选定值显示表单字段 Angular TypeScript

Javascript IN 操作不适用于一项数组

android - Request Volley,数据有时收到有时没有