Javascript 如果字符串与条件不匹配,如何从数组中删除元素?

Javascript 如果字符串与条件不匹配,如何从数组中删除元素?,javascript,arrays,angularjs,ecmascript-6,Javascript,Arrays,Angularjs,Ecmascript 6,如果settlementDesc字符串没有“:”冒号,则从数组中删除该项它不会发生在下面的代码中,在下面的代码中它返回两个元素有什么错误 main.js const消息=[{ “结算代码”:“85”, “settlementDesc:“抱歉,系统暂时无法处理您的请求。(错误代码85)| | Lo sentimos,Intentent de nuevo más tarde.Gracias.(错误代码85)” }, { “结算代码”:“99”, “结算ESC”:“抱歉,系统暂时无法处理您的请求。(

如果settlementDesc字符串没有“:”冒号,则从数组中删除该项它不会发生在下面的代码中,在下面的代码中它返回两个元素有什么错误

main.js

const消息=[{
“结算代码”:“85”,
“settlementDesc:“抱歉,系统暂时无法处理您的请求。(错误代码85)| | Lo sentimos,Intentent de nuevo más tarde.Gracias.(错误代码85)”
},
{
“结算代码”:“99”,
“结算ESC”:“抱歉,系统暂时无法处理您的请求。(错误代码85):Lo sentimos,Intente de nuevo más tarde.Gracias.(Código de Error 85)”
}
]
函数验证(消息){
如果(!messages){return[]};
let filteredsg=messages.filter(item=>!item.settlementDesc.includes(“:”)
返回filteredsg;
};
日志(验证尝试(消息))使用过滤器

const消息=[{
“结算代码”:“85”,
“settlementDesc:“抱歉,系统暂时无法处理您的请求。(错误代码85)| | Lo sentimos,Intentent de nuevo más tarde.Gracias.(错误代码85)”
},
{
“结算代码”:“99”,
“结算ESC”:“抱歉,系统暂时无法处理您的请求。(错误代码85):Lo sentimos,Intente de nuevo más tarde.Gracias.(Código de Error 85)”
}
]

console.log(messages.filter(e=>e.settlementDesc.includes(“:”))
您的代码就快到了。只需将
消息
而不是
拒绝消息
传递给您的函数:

const messages=[{“结算代码”:“85”,“结算代码”:“抱歉,系统暂时无法处理您的请求。(错误代码85)| | Lo sentimos,intent de nuevo más tarde.Gracias.(Código de Error 85)},{“结算代码”:“99”,“结算代码”:“抱歉,系统暂时无法处理您的请求。(错误代码85):Lo sentimos,Intentent de nuevo más tarde.Gracias.(错误代码85)“}]
函数验证(消息){
如果(!messages){return[]};
让filteredsg=messages.filter(item=>item.settlementDesc.includes(“:”)
返回filteredsg;
};

console.log(validateEntries(messages))
从filter函数中删除!并确保将正确的变量传递到函数中。这对我很有用

函数验证尝试(消息){
如果(!messages){return[]};
让filteredsg=messages.filter(item=>item.settlementDesc.includes(“:”)
返回过滤器
};
验证尝试(消息);

您已经在做这项工作。
让messages=[…];messages=validateEntries(messages);
在筛选后重新分配messages变量是您想要做的。您没有将正确的变量传递到validateEntries?应该是
validateEntries(messages)
在您的代码中,您正在将
拒绝消息
传递到
验证尝试()
--拒绝消息定义在哪里?您必须从
!item.settlementDesc.includes(:)中删除
若要使用
获取对象:
我应该获取字符串中包含冒号的对象,而不是管道右侧。这不正确。他需要删除!才能获得正确的结果。不确定捕获点在哪里有时有效有时无效你能提供示例,说明它在哪里有效,在你的问题中不存在吗包含冒号权限的对象我们应该忽略不包含冒号的对象:在输出中,它应该是带有冒号的字符串。这仍然不正确。他需要删除!以获得正确的结果。