我想这样做:
ProfileResult profile( Runnable function)
我可以做一个速记表达式,既可以评估是否找到了一个项目,又可以在块中使用该项目?
类似:
const arr = [{id: 1}, {id: 2}, {id: 3}];
const item = arr.find(v => v.id===2);
if (item) {
console.log(item);
}
答案 0 :(得分:2)
是的,只需对您的代码进行简单的调整-将https://github.com/facebook/react/issues/
更改为声明为{em> outside 的item
,如果let
可以将其重新分配给条件:
if
也就是说,我不推荐这样做-在条件内部分配变量是一种代码味道。我更喜欢您的原始版本,其中const arr = [{id: 1}, {id: 2}, {id: 3}];
// not actually necessary, but leaving it out will implicitly assign to global object:
let item;
if (item = arr.find(v => v.id ===2)) {
console.log(item);
}
在外部完成。
如果需要的话,您也可以为类似的事情做自己的功能。函数定义并不小,但是现在您可以简洁地调用了:
.find
答案 1 :(得分:1)
有趣的是...虽然原著的时间并不长,但四处逛逛还是很有趣的。不是超短,而是一些。
for (let item = arr.find(v => v.id === 2);item;) {
console.log('Found', item);
break;
}
答案 2 :(得分:1)
如果您只想在.innerHTML
块内使用document.querySelector(element)
,则不需要item
,if
或var
。但是,缺点是该变量将被全局绑定。
let