我想用对象键遍历对象。通过用户的单个输入(子字符串),我希望获得整个字符串进行迭代。
我的对象
const obj = {
"I am string": "Hello World",
"I am second": "foo bar"
}
如果用户键入子字符串“ string”,我想得到整个字符串“ I am string”,而在另一种情况下,如果用户键入子字符串“ second”或“ am second” “我第二”,依此类推...
我的目标是使用精确的字符串自动达到对象的值:
obj["I am string"] // "Hello World"
答案 0 :(得分:0)
您可以创建一个函数来对所选对象的.find()
执行Object.keys()
,然后返回 first 匹配的字符串-然后可以使用return值作为property accessor
const data = {
"I am string": "Hello World",
"I am second": "foo bar"
}
function findKey (searchTerm, objToSearch) {
return Object.keys(objToSearch).find(key => key.includes(searchTerm));
}
console.log(findKey('string', data));
console.log(findKey('second', data));
console.log(data[findKey('string', data)]);
如果仅将其用于一个对象,则可以为自己保存一个参数,而只需硬编码对象名称,而不用objToSearch
const findKey = (searchTerm) => Object.keys(obj).find(key => key.includes(searchTerm));