【问题标题】:Filtering an array with an empty array [closed]用空数组过滤数组[关闭]
【发布时间】:2022-11-22 10:05:19
【问题描述】:
const arrFilter = [{id:1},[],[]];

我怎样才能过滤上面例子中的空数组,这样结果就是只有一个id的对象

【问题讨论】:

  • 该数组包含混合类型;对象和数组。它可能拥有哪些其他类型的价值?你试过什么代码,它是如何失败的?

标签: javascript reactjs


【解决方案1】:

您可以使用从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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多