如何从数组foo中删除键"bar",以便"bar"不会显示在其中
for(key in foo){alert(key);}
Run Code Online (Sandbox Code Playgroud) var listToDelete = ['abc', 'efg'];
var arrayOfObjects = [{id:'abc',name:'oh'}, // delete me
{id:'efg',name:'em'}, // delete me
{id:'hij',name:'ge'}] // all that should remain
Run Code Online (Sandbox Code Playgroud)
如何通过匹配对象属性从数组中删除对象?
请使用原生JavaScript.
我在使用拼接时遇到问题,因为每次删除都会缩短长度.在orignal索引上使用克隆和拼接仍然会给你带来缩短长度的问题.
我一直在尝试几种方法来查找数组中的对象,其中ID = var,如果找到,则从数组中删除对象并返回新的对象数组.
数据:
[
{"id":"88","name":"Lets go testing"},
{"id":"99","name":"Have fun boys and girls"},
{"id":"108","name":"You are awesome!"}
]
Run Code Online (Sandbox Code Playgroud)
我可以使用jQuery $ grep搜索数组;
var id = 88;
var result = $.grep(data, function(e){
return e.id == id;
});
Run Code Online (Sandbox Code Playgroud)
但是如何在id == 88时删除整个对象,并返回如下数据:
数据:
[
{"id":"99","name":"Have fun boys and girls"},
{"id":"108","name":"You are awesome!"}
]
Run Code Online (Sandbox Code Playgroud) 鉴于此代码:
var arr = [];
for (var i = 0; i < 10000; ++i)
arr.push(1);
Run Code Online (Sandbox Code Playgroud)
前锋
for (var i = 0; i < arr.length; ++i) {}
Run Code Online (Sandbox Code Playgroud)
向后
for (var i = arr.length - 1; i >= 0; --i) {}
Run Code Online (Sandbox Code Playgroud)
硬编码转发
for (var i = 0; i < 10000; ++i) {}
Run Code Online (Sandbox Code Playgroud)
为什么向后退得这么快?
我有一个包含一些字段的接口:
interface Item {
id: number;
name: string;
}
Run Code Online (Sandbox Code Playgroud)
我想实现一个方法removeItemsWithName(items: Item[], name: string)
,从给定的数组中删除所有具有给定名称的项目:
const myItems: Item[] = [
{ id: 1, name: 'foo' },
{ id: 2, name: 'foo' },
{ id: 3, name: 'bar' }
];
removeItemsWithName(myItems, 'foo');
console.log(myItems);
Run Code Online (Sandbox Code Playgroud)
结果应该是:
[{id: 3, name: 'bar'}]
Run Code Online (Sandbox Code Playgroud)
typescript/javascript 中是否有可用的方法array.removeIf()
(如Collection.removeIf()
Java 8),以便我的方法看起来类似于以下内容:
[{id: 3, name: 'bar'}]
Run Code Online (Sandbox Code Playgroud)
我已经发现问题Remove array element based on object property,但我需要修改原始数组而不是创建一个新数组(就像array.filter()
做的那样)。我还想删除符合条件的所有项目,而不仅仅是第一个。
我有一个主要的对象数组,每个对象都有一些键/值以及一个带有 1,2,3,4,5 等的“id”键现在我有另一个仅代表 id 的数组(例如 [2,3] )
我想使用这个数组从主数组中删除对象...所以在这种情况下,主数组中具有 id 2 和 3 的对象应该被删除
虽然我知道 findBy(id),但我不确定它是否可以用于一次删除多个对象。