当前位置: 首页 > 知识库问答 >
问题:

从数组中就地删除对象:JS[duplicate]

高夜洛
2023-03-14

我有一个具有以下结构的对象数组:

const timeOptions = [
  { key: "all", value: "all", text: "All" },
  { key: "month", value: "month", text: "Month" },
  { key: "year", value: "year", text: "Year" }
];

我正在创建一个新对象,这个时间选项是其中一个字段的值。如何在创建对象本身时,使用“all”(全部)键删除对象

const values = {
  timeVal: {
    field: "timestamp",
    label: "Timestamp",
    options: timeOptions
  }
};

我试过的代码


const values = {
  timeVal: {
    field: "timestamp",
    label: "Timestamp",
    options: timeOptions.forEach((k) => delete k["key"] === "all")
  }
};

共有2个答案

贝研
2023-03-14

如果我理解正确,你需要过滤器

const values = {
 timeVal: {
 field: "timestamp",
 label: "Timestamp",
 options: timeOptions.filter((k) =>  k["key"] !== "all")
}

};

这将复制所有,除了带键“所有”的

徐帅
2023-03-14

使用数组#过滤器

options: timeOptions.filter(({ key }) => key !== 'all')
 类似资料:
  • 问题内容: 文件: 有没有办法从数组中提取特定对象?IE如何从项数组中提取ID为23的整个项对象。 我努力了: 但是我很确定我没有正确使用’pull’。据我了解,pull将从数组中拉出字段,而不是对象。 关于如何将整个对象从数组中拉出的任何想法。 另外,我尝试在mongoose / nodejs中执行此操作,也不确定这种类型的内容是否在mongoose API中,但我找不到它。 问题答案: 尝试.

  • 问题内容: 我需要从满足条件的数组中删除对象,我可以根据条件更新数组的对象,如下所示: 这正在工作 为了删除我正在这样做 但这不起作用,并给出此错误, ElasticsearchIllegalArgumentException [无法执行脚本]; 嵌套:ConcurrentModificationException; 错误:ElasticsearchIllegalArgumentException

  • 问题内容: 如何通过匹配对象属性从数组中删除对象? 请只使用本机JavaScript。 我在使用接头时遇到麻烦,因为每次删除的长度都会减少。使用克隆并在原始索引上进行拼接仍然会给您带来长度减少的问题。 问题答案: 我以为你用过这样的东西? 修复bug所需要做的就是在下一次减少,然后(也可以选择向后循环): 为了避免线性时间删除,可以编写要 保留 在数组上的数组元素: 为了避免在现代运行时中进行线性

  • 问题内容: 如何从数组中删除对象?我想删除,其中包括名称的对象从。例如: 我要实现: 问题答案: 您可以使用多种方法从数组中删除项目: 如果要删除position处的元素,请使用: 要么 您可以使用或结合使用参见MDN从数组中删除一个或多个元素,例如

  • 问题内容: 我有一个这样的对象数组: 我知道我可以找到匹配的项目,如下所示: 但是现在如何将其从原始文件中删除?我希望可以以某种方式返回索引,以便可以使用。或者更好的是,我想做这样的事情: 有任何想法吗? 问题答案: 您不了解的是Array是一个结构,因此 是一个值类型 。它不能像类实例那样在适当位置进行突变。因此,即使您扩展Array来编写一个变异方法,您也将始终在幕后创建一个新的数组。 因此,

  • 问题内容: 在我的应用程序中,选择单元格时在数组中添加了一个对象,重新选择单元格时取消选择并删除了对象。我使用了该代码,但给了我错误。 它给了我2像这样的错误: 问题答案: 雨燕等同的是: 如果对象是唯一的 。完全没有必要强制使用 该API 也可以使用,但这会导致不必要的隐式桥强制转换为。 如果同一对象多次出现,请使用。但是,在像数据源数组这样的情况下,将索引与特定对象相关联的情况是可取的,因为它