如果找到元素,如何在数组中添加元素?

doo*_*glu 0 javascript typescript typescript2.0

我用这个方法在数组中查找对象:

lat arr = [];
found = this.obj[objKey].filter(item => item[internKeyName] == 7047);
arr.push(found);
Run Code Online (Sandbox Code Playgroud)

问题是,如果没有找到元素,则将其添加undefined到数组中arr.怎么避免这个?

为什么它找不到带键的元素:"subjectId":

let objKey = 7047;
let k = "subjectId";
let v = 7047;

found = this.obj[objKey].filter(item => item[k] == v);

console.log(found);// undefined
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Get*_*awn 5

您可以通过found在将其推入阵列之前检查长度来避免这种情况.

lat arr = [];
found = this.obj[objKey].filter(item => item[internKeyName] == 7047);
found.length > 0 && arr.push(...found);
Run Code Online (Sandbox Code Playgroud)

我使用扩展语法将每个元素作为自己的项目推送到新数组,我认为这是你想要的....如果希望所有找到的项目都是自己的数组项,则可以删除它.