我有一个函数可以循环遍历对象的键,直到该键与输入中的关键字匹配。找到匹配项后,如何循环匹配的对象键值?
let obj = {
music: {
"do you like music": "Yes I do",
"what music do you like": "Jazz"
},
sports: {
"Do you like sports": "Yes"
}
};
let input = "i like music";
function run(input) {
let newStr = input.split(' ');
let key = Object.keys(obj);
key.forEach((key) => {
newStr.forEach((str) => {
if (key === str) {
console.log(key)
}
});
});
};
run(input);
最佳答案
您可以使用Array.flatMap
并从obj
返回匹配的单词value
我假设您想要返回整个值
来匹配键
let obj = {
music:{
"do you like music":"Yes I do",
"what music do you like": "Jazz"
},
sports:{
"Do you like sports": "Yes"
}
};
function run(i) {
return i.split(' ').flatMap(d => obj[d] || [])[0]
}
console.log(run("i like music"))
console.log(run("i like sports"))
关于javascript - 当其键与特定字符串匹配时循环遍历 Javascript 对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53460759/