在错误对象的集合中按值为true的属性过滤

时间:2019-05-30 15:07:53

标签: javascript arrays reactjs

我有一个对象,其中有一些布尔型的不同错误。我想遍历此对象,找出哪些错误是真实的,并显示也在该对象中的消息,但不显示那些错误的消息。

我尝试使用.some().reduce()函数,但似乎无法使其正常工作。

const Errors = home => {
  const errors = [
    {
      message: 'This home requires an image.',
      error: true,
      buttonText: 'Add Image',
    },
    {
      message: 'This home requires two images.',
      error: false,
      buttonText: 'Add Image',
    },
    {
      message: 'This home was unpublished by the dealer.',
      error: true,
      buttonText: 'Publish Home',
    },
  ];

  return errors.some(error => error.message);
};

const MainComponent = () => {
  return(
    <Errors />
  );
}

我只想显示真实的错误。

1 个答案:

答案 0 :(得分:6)

使用.filter仅过滤正确的错误,使用.map仅显示消息

return errors.filter(e => e.error).map(e => e.message)