因此,我有大约2500个项目的状态数组,尤其是加密货币,我不仅要过滤/映射用户搜索输入的结果,而且还要让我认为有重要意义的项目出现在返回的项目列表的顶部。
E.G。比特币有很多真的不值得考虑的模仿型加密货币。我不介意在那里放很多东西,但是如果它们没有显示在实际比特币之上,可能会更喜欢它,也许后面跟着2或3个并不完全无关的
由于我的研究一直没有成果,所以我还没有尝试太多。但是到目前为止,我一直在将属性添加到“重要”数组项中,并可能检查它们是否具有此属性(是/否),如果是,则首先显示它们。但老实说,我什至不知道最好的解决方法。
这是我要过滤的数组的示例:
cryptocompare:
Array[1833]
0:
Array[4]
0:
"42"
1:
"42 Coin (42)"
2:
"34"
3:
"42 Coin"
1:
Array[4]
0:
"365"
1:
"365Coin (365)"
2:
"916"
3:
"365Coin"
2:
Array[4]
0:
"404"
1:
"404Coin (404)"
2:
"602"
3:
"404Coin"
这是我用来启用过滤的方法:
{
this.state.cryptocompare.filter(this.searchingFor(this.state.search)).map((crypto) => {
return (
<div key={crypto[2]}><button className="fluid ui button list-button" value={crypto} onClick={this.handleSelection}>{crypto[1]}</button></div>
)
})
}