Javascript 如何从数组中删除少量对象
我试图从数组中删除一个或几个对象。满足条件的已完成===true。数组可以动态包含更多或更少的对象Javascript 如何从数组中删除少量对象,javascript,Javascript,我试图从数组中删除一个或几个对象。满足条件的已完成===true。数组可以动态包含更多或更少的对象 const数组=[{ 已完成:错误, 识别号:1595572089666, 标题:“1” }, { 已完成:错误, 识别号:1595572089666, 标题:“2” }, { 完成:对, 识别号:1595572089666, 标题:“3” }, { 完成:对, 识别号:1595572089666, 标题:“4” }, { 已完成:错误, 识别号:1595572089666, 标题:“5” }
const数组=[{
已完成:错误,
识别号:1595572089666,
标题:“1”
},
{
已完成:错误,
识别号:1595572089666,
标题:“2”
},
{
完成:对,
识别号:1595572089666,
标题:“3”
},
{
完成:对,
识别号:1595572089666,
标题:“4”
},
{
已完成:错误,
识别号:1595572089666,
标题:“5”
}
];
功能移除完成(arr){
arr.reduce(项目=>{
返回item.completed==true?item.splice(1,1):false;
});
}
您可以使用过滤器
方法根据已完成
属性删除对象
let数组=[{
已完成:错误,
识别号:1595572089666,
标题:“1”
},
{
已完成:错误,
识别号:1595572089666,
标题:“2”
},
{
完成:对,
识别号:1595572089666,
标题:“3”
},
{
完成:对,
识别号:1595572089666,
标题:“4”
},
{
已完成:错误,
识别号:1595572089666,
标题:“5”
}
];
array=array.filter(item=>item.completed!=true);
console.log(数组)
您是否尝试过Array.prototype.filter()
const filtered=array.filter({completed})=>!completed)
这是否回答了您的问题?从副本中,请参见我希望在不创建新阵列的情况下从现有阵列中删除项这将不会创建新阵列。它只覆盖现有数组而不使用额外的内存。该方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。