Javascript 按键值从数组中查找和删除对象

Javascript 按键值从数组中查找和删除对象,javascript,jquery,Javascript,Jquery,这与现有线程非常相似,但不完全相同: 通过这个线程,我知道我可以通过$找到一个对象。grep: var events = [ {startTime: 5, endTime: 20}, {startTime: 15, endTime: 22}, {startTime: 30, endTime: 31} ]; var results = $.grep(events, fu

这与现有线程非常相似,但不完全相同:

通过这个线程,我知道我可以通过
$找到一个对象。grep

var events = [
                {startTime: 5, endTime: 20}, 
                {startTime: 15, endTime: 22}, 
                {startTime: 30, endTime: 31}
             ];

var results = $.grep(events, function(e){ 
   return (e.startTime == 15 && e.endTime == 22); });
return results[0]; // 1 result guaranteed
但是如何从事件数组中删除这个已找到的对象呢?为了使用
拼接
,我是否需要索引以及
$.grep

我需要在数组中按键/值查找对象,然后将其删除

var事件=[
{开始时间:5,结束时间:20},
{开始时间:15,结束时间:22},
{开始时间:30,结束时间:31}
];
var results=$.grep(事件,函数(e){
返回(e.startTime==15&&e.endTime==22);});
console.log(结果[0]);
//console.log(事件);//保证1个结果

更多信息请点击此处

只需使用过滤器并取消搜索

var事件=[{
开始时间:5,
结束时间:20
},
{
开始时间:15,
结束时间:22
},
{
开始时间:30,
结束时间:31
}
];
events=events.filter(e=>!(e.startTime==15&&e.endTime==22));

console.log(事件)只需使用
过滤器
。它返回一个新数组,但只返回与条件匹配的对象。容易多了。
var events = [
    {startTime: 5, endTime: 20}, 
    {startTime: 15, endTime: 22}, 
    {startTime: 30, endTime: 31}
];

var filteredEvents = events.filter(function(item) {
    return item.prop !== undersirableValue;
});