我需要按类别分离对象中的值,这可以从对象的键名称中看出。以下是该对象的部分外观:
const values = {
RM1: 'Rarely',
RM2: 'Often',
RM3: 'Sometimes',
RM4: 'Consistently',
CM1: 'Rarely',
CM2: 'Never',
CM3: 'Sometimes',
CM4: 'Sometimes',
CO1: 'Often',
CO2: 'Often',
CO3: 'Often',
CO4: 'Sometimes'
}
类别是 RM、CM、CO 等。我写了一个函数来过滤类别(answers
是一个更大的对象,values
是其中的一部分):
const categorizeAnswers = (answers) =>{
const valueNames = Object.keys(answers.values);
const values = Object.values(answers.values);
const getCategoryList = category => valueNames.filter(value => {
return value.includes(category);
})
const RM = getCategoryList("RM");
const CM = getCategoryList("CM");
const CO = getCategoryList("CO");
}
但现在我不确定如何获取与这些类别对应的值。所以对于 RM
,我想要一个类似这样的数组:['Rarely', 'Often', 'Sometimes', 'Consistently']
。其他类别也是如此。
有什么想法吗?我觉得这真的很简单,我遗漏了一些明显的东西。
最佳答案
您可以简单地在类别数组上使用 map 来获取它们在数组中的值,如下所示:
const RM = getCategoryList("RM").map((key) => answers.values[key]);
关于javascript - 如何过滤对象中特定键对应的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48899945/