javascript - 从对象中过滤字符串和空值

标签 javascript

当对象的属性值为 null 或包含“缺失”时,应过滤整个对象。

这适用于过滤 null

object = (object.filter(o => !Object.values(o).includes(null)) 

但是如何添加 2 个过滤器以及如何实现一个过滤器来过滤包含“missing”一词的字符串

  object = (object.filter(o => !Object.values(o).includes(null) | ("missing")));

对象:

[
      { id: 'blockstack-iou',
        name: 'Blockstack (IOU)',
        image: 'missing_large.png'
      }
      { id: 'qtum',
        name: 'Qtum',
        image:
         'https://assets.coingecko.com/coins/images/684/large/qtum.png?1547034438',
        price_change_percentage: -53.2869774915231
      }
    ]

最佳答案

使用Array.prototype.every()

使用&&组合多个测试。

let object = [{
    id: 'blockstack-iou',
    name: 'Blockstack (IOU)',
    image: 'missing_large.png'
  },
  {
    id: 'qtum',
    name: 'Qtum',
    image: 'https://assets.coingecko.com/coins/images/684/large/qtum.png?1547034438',
    price_change_percentage: -53.2869774915231
  }
];

console.log(object.filter(o => Object.values(o).every(prop => 
  prop != null && !prop.toString().includes("missing"))));

关于javascript - 从对象中过滤字符串和空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59650935/

相关文章:

javascript - .className() 似乎不起作用

javascript - YouTube iFrame API "setPlaybackQuality"或 "suggestedQuality"不起作用

javascript - Stylus:生成 CamelCase 变量

javascript - 是否可以使用 firebase 通过免费帐户进行网络抓取?

javascript - 如何在对象数组中设置每个对象的属性?

javascript - 将 div margin-top 设置为屏幕高度(在 iframe 内,跨浏览器)

javascript - 如何将扫描的二维码值发布到服务器上的数据库

Javascript cookie 和重定向

javascript - Offline.js 不起作用

javascript - 简单的 JS 在更改时更改字段颜色