我有一個(gè)對(duì)象數(shù)組,我想根據(jù)渲染復(fù)選框數(shù)組中的值對(duì)其進(jìn)行過(guò)濾。(即:因此,如果選中了 5 個(gè)復(fù)選框中的 2 個(gè),我想通過(guò)這些復(fù)選框指定的參數(shù)過(guò)濾數(shù)據(jù)。我已經(jīng)能夠做一個(gè)快速而骯臟的解決方案版本,我對(duì)復(fù)選框數(shù)組的所有預(yù)期值進(jìn)行硬編碼,但我認(rèn)為這真的沒(méi)有必要// Filter variable (array of objects)const filterValues = [ { "id": 1, "min": 0, "max": 5, "checked": true }..... , ]// Filter function taking in:// dataList (an array of objects where each one has a [length] )// filterValues (an array of objects as defined above) const filterData = (dataList, filterValues) => { return dataList.filter(item => (filterValues[0].checked && (filterValues[0].max >= item.length) && (item.length > filterValues[0].min)) || (filterValues[1].checked && .... (....) )我試圖在 filterData 中使用一些高階函數(shù)的組合來(lái)繪制參數(shù)列表,然后 .filter() 可以使用這些參數(shù)來(lái)正確過(guò)濾數(shù)據(jù)。非常感謝您的幫助
使用 array.prototype.filter() 方法根據(jù)來(lái)自另一個(gè)數(shù)組的參數(shù)進(jìn)行過(guò)濾
胡子哥哥
2021-09-04 17:35:27