Object.entities过滤器
const mykeys = {
‘foo' : 'bar',
'tez' : 'test',
'baz' : 'test2'
}
function test(passedValue) {
//Arrow function needs to return something else lint complains hence the undefined. Cannot use ForOf lint complains
Object.entries(mykeys).forEach(([key, val]) => {
if (key === passedValue) {
return val;
}
// return undefined
});
}
是否有一种优雅的方法可以在键与传递的值匹配的情况下返回值。因此,如果传递的值为foo,则它将匹配键foo并返回bar。我认为object.entities是理想的选择,因为它既具有键又具有价值。
当我使用for语句并且返回undefined时,lint抱怨不起作用,因为它退出了条件,但我对此进行了注释,并在下面得到关于在arrow函数中返回值的lint错误。
不准许使用'forofstatement'的无限制语法
期望在箭头函数结尾处返回一个值并返回
回答如下:无法发表评论,因为我没有足够的代表,但是您是否有理由需要遍历对象键来找到键值对?在我看来,通过执行以下操作来查找值会更容易:
function getValue(key){
return mykeys[key] !== undefined ? mykeys[key] : undefined;
}