Javascript 为什么这个带有多个条件的if语句不可访问?

Javascript 为什么这个带有多个条件的if语句不可访问?,javascript,Javascript,在这个函数中,我实际上试图修改数组,但我正在登录控制台进行测试 当我在带有的if语句中写入多个条件时,它将变得不可访问 arr=[5,3,8,1]; filterRangeInPlace=(arr,a,b)=>{ arr.forEach((项目、索引)=>{ 如果(项目=b)如果我得到索引2 //为什么这样不行? arr=[5,3,8,1]; filterRangeInPlace=(arr,a,b)=>{ arr.forEach((项目、索引)=>{ 如果(项目=b){ 控制台日志(索引);

在这个函数中,我实际上试图修改数组,但我正在登录控制台进行测试

当我在带有的if语句中写入多个条件时,它将变得不可访问

arr=[5,3,8,1];
filterRangeInPlace=(arr,a,b)=>{
arr.forEach((项目、索引)=>{
如果(项目=b)如果我得到索引2
//为什么这样不行?
arr=[5,3,8,1];
filterRangeInPlace=(arr,a,b)=>{
arr.forEach((项目、索引)=>{
如果(项目=b){
控制台日志(索引);
}
});
}
filterRangeInPlace(arr,3,8);
您说“它也大于或等于8”,并且您期望索引1、2和3。因此,您似乎在寻找所有小于或等于3、大于或等于8的值

但是,您在if语句中使用了
&
运算符。这等于如果两个条件都为真,则


您正在寻找
|
运算符,该运算符表示,如果条件a或条件b中的任何一个都不能同时小于3和大于8,请执行操作。

一个数字不能同时小于3和大于8。您知道小于
3和大于
8的任何数字吗?您是指
项=3
?还是指
>item=8
?没有一个实数既小于或等于8又大于或等于3。如果数组中没有2,我不确定从哪里可以得到2。@n00B基本上,您需要查看
&
在JavaScript(以及大多数其他编程语言)中的含义.我有点想要这两个值,而不仅仅是一个或另一个,项>=8给我8,项谢谢,我认为or运算符只会计算第一个真实条件,而忽略另一个。