在JavaScript中多个检查一个
我知道这听起来很愚蠢,但我想知道这段代码是否可以用更短的版本编写:在JavaScript中多个检查一个,javascript,Javascript,我知道这听起来很愚蠢,但我想知道这段代码是否可以用更短的版本编写: if (this.myVeryLongName.aRandomProperty === 'property_1' || this.myVeryLongName.aRandomProperty === 'property_1' || this.myVeryLongName.aRandomProperty === 'property_1') { //do something } 也许是这样的: if (this.myV
if (this.myVeryLongName.aRandomProperty === 'property_1' || this.myVeryLongName.aRandomProperty === 'property_1' || this.myVeryLongName.aRandomProperty === 'property_1') {
//do something
}
也许是这样的:
if (this.myVeryLongName.aRandomProperty === ('property_1' || 'property_1' || 'property_1')) {
//do something
}
有什么方法可以使它变短并且仍然具有相同的功能吗?您可以制作一个数组并使用
包含,例如:
if ( ['property_1','property_2','property_3'].includes( this.myVeryLongName.aRandomProperty ) ) {
//do something
}
Doc:您可以创建一个数组并使用includes
,例如:
if ( ['property_1','property_2','property_3'].includes( this.myVeryLongName.aRandomProperty ) ) {
//do something
}
文档:可能是更好的选择(比我在评论中发布的更好)
请注意,如果需要更改,这将更易于阅读,并且在将来可以扩展。可能是更好的选择(比我在评论中发布的更好)
请注意,这更易于阅读,并且在将来需要更改时可以扩展。有多种方法可以做到这一点:
-
(ES 2016)
-
(附录5)
-
(任何JS版本)
有多种方法可以做到这一点:
-
(ES 2016)
-
(附录5)
-
(任何JS版本)
['item1'、'item2'、'item3'].indexOf(超长型)>-1
['item1'、'item2'、'item3'].indexOf(超长型)>-1
['property_1','property_2','property_3'].includes( this.myVeryLongName.aRandomProperty )
['property_1','property_2','property_3'].indexOf( this.myVeryLongName.aRandomProperty ) !== -1
/^(?:property_1|property_2|property_3)$/.test( this.myVeryLongName.aRandomProperty )