内の条件に基づいてマップ配列私のデータは、私が(filterKey変数が空/ nullでない場合)、フィルタおよびソート(ソートキー変数が空でない場合/ nullにしたいフィルター、ソートとJavascript
data=[
{
id: 1,
name: 'John Doe',
contacts: '[email protected]',
accepted: true
},
{
id: 2,
name: 'Jane Doe',
contacts: '[email protected]',
accepted: false
},
]
に従っているが)。私はいくつかのif/thenでそれをすることができますが、より良い方法がありますか?
let computedList = data
if(filterKey) {
computedList = data.filter(item => item.name.includes(filterKey))
}
if(sortKey) {
computedList = data.sort(...)
}
computedList.map(item => <div>item.name</div>)
どこ 'filterKey'と' sortKey'から来るのか? – Bergi
あなたの解決策は、 'filterKey'と' sortKey'の両方が存在する場合には機能しません。フィルターの結果ではなく、常に 'data'をソートします。 – Bergi
はい、あなたは正しいです。 sortKeyブロックで 'computedList'を使うつもりです。 'filterKey'と' sortKey'は外部から来ます(React propsから)。 – Runnick