NUXT应用中JavaScript filter按_id过滤对象返回空数组问题
问题原因
你写的filter回调函数没有显式返回值,所以每一次遍历都默认返回undefined(假值),导致所有元素都被过滤,最终得到空数组。
当箭头函数用大括号{}包裹函数体时,必须手动添加return语句指定返回值,否则不会返回你写的item._id !== imageObjId的布尔结果。
修复方案
有两种修改方式,任选一种即可:
方式1:添加return语句
const newUploaded = olduploaded.filter((item) => { console.log("item._id", item._id); console.log("imageObjId", imageObjId); // 手动添加return返回布尔值 return item._id !== imageObjId })
方式2:去掉大括号使用隐式返回
如果不需要在回调里写console.log调试的话,可以直接去掉大括号,箭头函数会自动把后面的表达式结果作为返回值:
const newUploaded = olduploaded.filter(item => item._id !== imageObjId)
内容的提问来源于stack exchange,提问作者Opeyemi Odedeyi
相关产品推荐
相关产品推荐

