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

如何从数组中的所有对象中删除一个简单的特定键值对[重复]

公孙驰
2023-03-14

我正在学习ES6和对象,想知道如何在这个对象数组中去掉一个键值对:

[
    { "name" : "mark", "height" : "tall", "theId" : "1", "nat" : "uk"},
    { "name" : "ben", "height" : "medium", "theId" : "2", "nat" : "uk"},
    { "name" : "neil", "height" : "small", "theId" : "3", "nat" : "uk" }
]

结果应该是:

[
    { "name" : "mark", "height" : "tall", "nat" : "uk"},
    { "name" : "ben", "height" : "medium", "nat" : "uk"},
    { "name" : "neil", "height" : "small", "nat" : "uk" }
]

我创建了一个foreach函数,并试图将每个结果推入一个新的数组,但现在没有对象。

这怎么能解决呢?或者有更好的方法来使用ES6/ES7语法?感谢任何帮助。代码和codePen URL如下:

代码笔:https://codepen.io/anon/pen/bPYQyb

let objArr = [
	{ "name" : "mark", "height" : "tall", "theId" : "1", "nat" : "uk"},
	{ "name" : "ben", "height" : "medium", "theId" : "2", "nat" : "uk"},
	{ "name" : "neil", "height" : "small", "theId" : "3", "nat" : "uk" }
],
    arr = [];

objArr.forEach(function(obj) {
	for (let column in obj) {
      let currArr = [];
    if (isNaN(obj[column])) {
      console.log('true');
      currArr.push(obj[column]);
    }
    arr.push(currArr);
  }
});

console.log(arr);

共有3个答案

阴鸿才
2023-03-14

如果要在位修改当前对象,可以在数组中循环对象并使用delete

所以你可以

for (let obj of objArr) {
  delete obj.theId;
}

或者功能方式

objArr.forEach(obj => delete obj.theId);

通奕
2023-03-14

只需删除密钥:

let objArr = [
	{ "name" : "mark", "height" : "tall", "theId" : "1", "nat" : "uk"},
	{ "name" : "ben", "height" : "medium", "theId" : "2", "nat" : "uk"},
	{ "name" : "neil", "height" : "small", "theId" : "3", "nat" : "uk" }
];


objArr.forEach(function(obj) {
	delete obj.theId;
});

console.log(objArr);
夹谷鸿福
2023-03-14
objArr.forEach(a => delete a.theId);

删除操作员的单据:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete

 类似资料:
  • 我在开快车。js应用程序,有几个API将数据提供给下拉框。返回的数据格式为: 其中key是我的选项key,value是显示文本。这个数组的结构是固定的,我知道一个事实,我总是将key和value作为数组中每个对象的字段。 当我尝试验证提交的表单(额外的服务器端验证)时,我想交叉引用为字段提供的值与数组中“key”的所有值(blah、foo、bar、baz)。鉴于这将是一个经常使用的路由,我想避免每

  • 假设我有这样的对象数组: 如何从每个对象中删除时间和单词属性?我的输出应该是这样的:

  • 现在我有了新阵列 现在,现有的_array和新的_array都有名称值“b”,我希望它从新数组中移除

  • 我有这个数组的对象,我想删除最后一个对象。有人能让我知道这样做吗?

  • 假设对象数组如下: 如果标签和颜色相同,则为重复条目。在这种情况下,id=1和id=5的对象是重复的。 如何筛选此阵列并删除重复项? 我知道一些解决方案,在这些解决方案中,您可以使用以下内容对一个键进行过滤: 但是多个键呢? 根据评论中的要求,以下是预期结果:

  • 我有一个对象数组,希望删除所有具有特定键值的对象。 该数组如下所示: