我使用这个方法来查找数组中的对象:
lat arr = [];
found = this.obj[objKey].filter(item => item[internKeyName] == 7047);
arr.push(found);
问题是,如果找不到元素,它会将其作为 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
最佳答案
您可以通过在将其推送到数组之前检查找到的
长度来避免这种情况。
lat arr = [];
found = this.obj[objKey].filter(item => item[internKeyName] == 7047);
found.length > 0 && arr.push(...found);
我正在使用spread syntax将每个元素作为其自己的项目推送到新数组,我认为这就是您想要的。如果您希望所有找到的项目都是其自己的数组项目,则可以删除 ...
。
关于javascript - 如果找到数组中的元素,如何将其添加到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49614350/