【发布时间】:2022-11-22 10:05:19
【问题描述】:
const arrFilter = [{id:1},[],[]];
我怎样才能过滤上面例子中的空数组,这样结果就是只有一个id的对象
【问题讨论】:
-
该数组包含混合类型;对象和数组。它可能拥有哪些其他类型的价值?你试过什么代码,它是如何失败的?
标签: javascript reactjs
const arrFilter = [{id:1},[],[]];
我怎样才能过滤上面例子中的空数组,这样结果就是只有一个id的对象
【问题讨论】:
标签: javascript reactjs
您可以使用从Object.keys() 返回的数组长度来确定对象、数组或字符串是否为空,但它不适用于数字。
考虑到这一点,尝试这个假设
const arrFilter = [{id:1},[],[], "a string", "", 1, 0];
const nonEmpties = arrFilter.filter(
(item) => typeof item === "number" || Object.keys(item).length > 0
);
console.log(nonEmpties);
【讨论】: