检查多个对象数组的项?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

假设这是我的数组数据

[
  { target: ['foo', 'bar'] },
  { target: [] }
]

我需要检查在任何目标数组中是否至少有一个项。所以在上面的例子中,结果应该是true

因此,结果是false:

[
  { target: [] },
  { target: [] }
]

如果这是正确的方法,我只需要一个提示,如何将所有数组合并为一个。

提问于
用户回答回答于

你可以用Array#some的长度属性 target属性

var array = [{ target: ['foo', 'bar'] }, { target: [] }];

console.log(array.some(({ target }) => target.length));

用户回答回答于

可以使用Array.prototype.filter()

let data1 = [
  { target: ['foo', 'bar'] },
  { target: [] }
];

let data2 = [
  { target: [] },
  { target: [] }
];

console.log(!!data1.filter(e => e.target.length).length);

console.log(!!data2.filter(e => e.target.length).length);

所属标签

可能回答问题的人

  • 应用案例分享

    1 粉丝490 提问5 回答
  • Hyman.W

    15 粉丝0 提问3 回答
  • 找虫虫

    5 粉丝0 提问3 回答
  • uncle_light

    5 粉丝518 提问3 回答

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动