3 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以你filter的數(shù)組
const items = [
{code: "1", fruits: "APPLE", color: "red"},
{code: "2", fruits: "BANANA", color: "dummy"},
{code: "3", fruits: "BANANA", color: "anotherDummy"},
{code: "4", fruits: "ORANGE", color: "orange"}
];
const keyword = 'BANANA';
const filter = items.filter(item => (item.code === keyword || item.fruits === keyword ||item.color === keyword));
console.log(filter);
也適用于多個(gè)過濾器/搜索
const items = [
{code: "1", fruits: "APPLE", color: "red"},
{code: "2", fruits: "BANANA", color: "dummy"},
{code: "3", fruits: "BANANA", color: "anotherDummy"},
{code: "4", fruits: "ORANGE", color: "orange"}
];
const keyword = ['APPLE', 'BANANA'];
const filter = items.filter(item => (
keyword.includes(item.code)
|| keyword.includes(item.fruits)
|| keyword.includes(item.color)
));
console.log(filter);

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
希望這可以幫助 -
此代碼將返回包含找到的項(xiàng)目的數(shù)組
這將比較每個(gè)項(xiàng)目的所有屬性/鍵給出的值。
此外,最好創(chuàng)建自定義(創(chuàng)建 findCustom() 函數(shù))而不是覆蓋內(nèi)置的 find() 方法。
var items = [{code: "1", fruits: "APPLE", color: "red"},
{code: "2", fruits: "BANANA", color: "dummy"},
{code: "3", fruits: "BANANA", color: "anotherDummy"},
{code: "4", fruits: "ORANGE", color: "orange"}]
items.findCustom = (value) =>{
let results = [];
items.find((item) => {
var listKeys = Object.keys(item);
listKeys.forEach((keyName) => {
if(item[keyName] == value)
results.push(item);
})
})
return results;
}
console.log(items.findCustom("BANANA"))

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以使用filter方法
let filteredArray = items.filter(item => item.fruits ==='BANANA');
console.log(filteredArray);
更新
對(duì)于更多動(dòng)態(tài)過濾器,您可以創(chuàng)建要查找的字符串列表讓我們說:
let fruitsToFilter = ['BANANA', 'APPLE',...]
然后就可以使用像這樣的過濾方法來實(shí)現(xiàn)動(dòng)態(tài)過濾
let filteredArray = items.filter(item => fruitsToFilter.includes(item.fruits));
console.log(filteredArray);
添加回答
舉報(bào)