简化此If语句,使其不会';不重复代码-Javascript

简化此If语句,使其不会';不重复代码-Javascript,javascript,if-statement,Javascript,If Statement,我有一个在“for”循环中运行的If语句,用于为谷歌地图创建标记。基本上,如果勾选了一个复选框,则会运行“全部代码”并显示所有标记,但如果勾选了一个复选框,则会检查第二个参数,并仅对符合此条件的项目运行代码 下面的代码运行良好,但这意味着我必须在if语句的两个部分中使用相同的代码。除了将其构建为函数之外,是否还有更好的方法来构建if语句以实现这一点 if(!FriendlyChecked){ //Code here } else if(FriendlyChecked &&am

我有一个在“for”循环中运行的If语句,用于为谷歌地图创建标记。基本上,如果勾选了一个复选框,则会运行“全部代码”并显示所有标记,但如果勾选了一个复选框,则会检查第二个参数,并仅对符合此条件的项目运行代码

下面的代码运行良好,但这意味着我必须在if语句的两个部分中使用相同的代码。除了将其构建为函数之外,是否还有更好的方法来构建if语句以实现这一点

if(!FriendlyChecked){

    //Code here

} else if(FriendlyChecked && Friendly == "Yes"){

    //Same code here

}

如果
FriendlyChecked
为false,则满足第一个条件并执行代码

因此,如果达到第二个条件,
FriendlyChecked
必须为true,因此您根本不需要检查它,只需要检查
Friendly==“Yes”

!FriendlyChecked | |(FriendlyChecked&&Friendly==“Yes”)
将检查
FriendlyChecked
是否为
false
(未选中)


友好检查
是否为
友好值是否为
这将解决您的问题

 if((!FriendlyChecked) ||((FriendlyChecked)&&(Friendly == "Yes")){

 //Code here

} 

比我快约3秒。如果你的情况是多余的,你的其他。如果
FriendlyChecked
true
(在这种情况下,它将转到else If语句),那么为什么还要再次检查
FriendlyChecked
是否为
true
if( !FriendlyChecked || (FriendlyChecked && Friendly == "Yes") ) {

  // your code

}
 if((!FriendlyChecked) ||((FriendlyChecked)&&(Friendly == "Yes")){

 //Code here

}