如果settlementDesc字符串没有":" colon从数组中删除该条目,而不是在下面的代码中删除该条目,那么在下面的代码中实现了什么,它将返回两个元素?
?main.js
const messages = [{
"settlementCode": "85",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85)||Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)"
},
{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85):Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)"
}
]
function validateEntries (messages) {
if(!messages){ return [] };
let filteredMsg = messages.filter(item => !item.settlementDesc.includes(":"))
return filteredMsg;
};
console.log(validateEntries(messages));
预期输出
由于settlementDESC包含结肠,因此不应省略,我们应该进行过滤响应。
[
{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85):Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)"
}
]
使用过滤器
const messages = [{
"settlementCode": "85",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85)||Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)"
},
{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 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 = [{
"settlementCode": "85",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85)||Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)"
},
{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85):Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)"
}
]
function validateEntries(messages) {
if (!messages) {
return []
};
let filteredMsg = messages.filter(item => item.settlementDesc.includes(":"))
return filteredMsg;
};
console.log(validateEntries(messages));
您的代码几乎在那里。只需将messages
而不是rejectMessage
传递到您的功能:
const messages= [{ "settlementCode": "85", "settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85)||Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)" }, { "settlementCode": "99", "settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85):Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)" } ]
function validateEntries (messages) {
if(!messages){ return [] };
let filteredMsg = messages.filter(item => item.settlementDesc.includes(":"))
return filteredMsg;
};
console.log(validateEntries(messages))
您还可以重构一些代码以使其更简洁:
const messages= [{ "settlementCode": "85", "settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85)||Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)" }, { "settlementCode": "99", "settlementDesc": "Sorry, the system is temporarily unavailable to process your request.(Error Code 85):Lo sentimos,Intente de nuevo más tarde. Gracias. (Código de error 85)" } ]
let validateEntries = msgs => !msgs
? []
: msgs.filter(item => item.settlementDesc.includes(":"))
console.log(validateEntries(messages))
删除!从滤波器函数。并确保您将正确的变量传递到功能中。它对我有用。
function validateEntries (messages) {
if(!messages){ return [] };
let filteredMsg = messages.filter(item => item.settlementDesc.includes(":"))
return filteredMsg
};
validateEntries(messages);