将过滤器应用于 React 数组并显示过滤结果

时间:2021-02-07 19:21:37

标签: javascript arrays reactjs typescript

我正在尝试过滤用 React Js 编写的数组,但到目前为止,我没有成功收到未定义的错误。我想过滤一些值低于 10 的图像。

我尝试应用过滤器的方式如下: {this.images.filter((image:any={}) => image.value < 10)} 但有些不对劲。

我的过滤器有什么问题以及如何编写它以获得工作代码?

export class somePageImages{

  images: any[] = [
    { img: 'http://www.someimage.com/', value: 4, title: 'Image 1', description: 'A description 1' },
    { img: 'http://www.someimage.com/', value: 6, title: 'Image 2', description: 'A description 2' },
    { img: 'http://www.someimage.com/', value: 10, title: 'Image 3', description: 'A description 3' },
  ]

  render() {
    return (
      <Host>
        <ol>
          { this.images.map((image:any={}) =>
            <li>
            <img src={image.img}></img>
            <h1>{image.title}</h1>
            <p>{image.description}</p>
          </li>
          )}
        {this.images.filter((image:any={}) => image.value < 10)}
        </ol>

      </Host>
    );
  }

}

1 个答案:

答案 0 :(得分:0)

我不得不将过滤器放在不同的位置才能正常工作:

this.images.filter((image:any={}) => image.value < 50).map((image:any={})

这样它就可以正常工作,没有任何 undefined 错误