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-欢迎伴侣:)