Javascript 动态筛选数组
我有一个非常类似的要求,但是我需要过滤我的过滤对象中的所有值。请看下面我的测试Javascript 动态筛选数组,javascript,arrays,Javascript,Arrays,我有一个非常类似的要求,但是我需要过滤我的过滤对象中的所有值。请看下面我的测试 让cardsArray=[ {“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2011”}, {“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“地位”:“自己的”,“用户名”:“jinky32”,“年份”:“2011”}, {“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:
让cardsArray=[
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2011”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“地位”:“自己的”,“用户名”:“jinky32”,“年份”:“2011”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“dfgdf”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“gdgg”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”}
]
//常量过滤器={用户名:“tyty”,状态:“Own”,年份:“2011”,系列:“竞争者”}
//const filters={系列:“竞争者”,年份:“2011”};
常量过滤器={series:“竞争者”};
让final=cardsArray.filter(值=>{
返回Object.entries(value).some([key,value])=>{
返回typeof value=='string'&&value.includes(过滤器[键])
})
})
console.log(final)
条件应该是卡元素中满足所有过滤器键值对的要求:
让cardsArray=[
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2011”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“地位”:“自己的”,“用户名”:“jinky32”,“年份”:“2011”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“dfgdf”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“gdgg”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”}
]
const filters={系列:“竞争者”,年份:“2011”};
let final=cardsArray.filter(卡片=>
Object.entries(filters).every([key,value])=>card[key]==value)
);
console.log(final)
条件应该是卡元素中满足所有过滤器键值对的要求:
让cardsArray=[
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2011”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“地位”:“自己的”,“用户名”:“jinky32”,“年份”:“2011”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“dfgdf”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“竞争者”,“状态”:“自有”,“用户名”:“gdgg”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”},
{“品牌”:“国宝”,“制造商”:“帕尼尼”,“系列”:“世纪材料”,“状态”:“自有”,“用户名”:“泰蒂”,“年份”:“2010”}
]
const filters={系列:“竞争者”,年份:“2011”};
let final=cardsArray.filter(卡片=>
Object.entries(filters).every([key,value])=>card[key]==value)
);
console.log(最终版)
请尝试以下操作:
let final=cardsArray.filter(obj=>{
返回!目标
.钥匙(过滤器)
.map(key=>obj[key]==过滤器[key])
.包括(假)
})
尝试以下操作:
let final=cardsArray.filter(obj=>{
返回!目标
.钥匙(过滤器)
.map(key=>obj[key]==过滤器[key])
.包括(假)
})