Javascript 按它过滤对象';s值
我试图根据对象的值与字符串部分匹配的对象来过滤对象数组Javascript 按它过滤对象';s值,javascript,Javascript,我试图根据对象的值与字符串部分匹配的对象来过滤对象数组 const acceptedValues = "theme"; const myObject = { code: "themev3", } var filteredObject = Object.keys(myObject).reduce(function(r, e) { if (acceptedValues.indexOf(myObject[e].toLowerCase()) >= 0) r[e] = myObject[e
const acceptedValues = "theme";
const myObject = {
code: "themev3",
}
var filteredObject = Object.keys(myObject).reduce(function(r, e) {
if (acceptedValues.indexOf(myObject[e].toLowerCase()) >= 0) r[e] = myObject[e]
return r;
}, {})
console.log(filteredObject);
正如您所看到的,上面的对象应该在filteredObject
数组中返回,因为code
中有theme
但这不起作用,有什么想法吗 您正在混合搜索文本和从文本中搜索。在这里,您需要检查
myObject[e]
是否包含接受值的任何部分
const acceptedValues=“theme”;
常量myObject={
代码:“themev3”,
}
var filteredObject=Object.keys(myObject).reduce(函数(r,e){
if(myObject[e].toLowerCase().indexOf(acceptedValues)>=0)r[e]=myObject[e]
返回r;
}, {})
控制台日志(filteredObject)代码>您正在混合搜索文本和从文本中搜索。在这里,您需要检查myObject[e]
是否包含接受值的任何部分
const acceptedValues=“theme”;
常量myObject={
代码:“themev3”,
}
var filteredObject=Object.keys(myObject).reduce(函数(r,e){
if(myObject[e].toLowerCase().indexOf(acceptedValues)>=0)r[e]=myObject[e]
返回r;
}, {})
控制台日志(filteredObject)代码>条件应相反。您需要在对象值中找到acceptedValues
的索引:
const acceptedValues=“theme”;
常量myObject={
代码:“themev3”,
}
var filteredObject=Object.keys(myObject).reduce(函数(r,e){
if(myObject[e].toLowerCase().indexOf(acceptedValues.toLowerCase())>-1)
r[e]=myObject[e];
返回r;
}, {})
控制台日志(filteredObject)代码>条件应相反。您需要在对象值中找到acceptedValues
的索引:
const acceptedValues=“theme”;
常量myObject={
代码:“themev3”,
}
var filteredObject=Object.keys(myObject).reduce(函数(r,e){
if(myObject[e].toLowerCase().indexOf(acceptedValues.toLowerCase())>-1)
r[e]=myObject[e];
返回r;
}, {})
控制台日志(filteredObject)代码>在切换比较旁边,您可以映射键/值对,并在过滤后构建新对象
const
value=“主题”,
对象={code:“themev3”},
已筛选=Object.assign(
对象
.条目(对象)
.filter(([,v])=>v.toLowerCase().includes(值))
.map(([key,value])=>({[key]:value}))
);
console.log(过滤)代码>在切换比较旁边,您可以映射键/值对,并在过滤后构建新对象
const
value=“主题”,
对象={code:“themev3”},
已筛选=Object.assign(
对象
.条目(对象)
.filter(([,v])=>v.toLowerCase().includes(值))
.map(([key,value])=>({[key]:value}))
);
console.log(过滤)代码>这是干草堆。索引(针)
这是干草堆。索引(针)
@MartynBall-欢迎伴侣:)@MartynBall-欢迎伴侣:)