Javascript 如果数组中的任何值低于或高于该值

Javascript 如果数组中的任何值低于或高于该值,javascript,arrays,if-statement,Javascript,Arrays,If Statement,假设数组中有(任意数量)值,并且希望查看其中是否有超过(较低数量)和低于较高数量的值,您将如何做到这一点 回答时不要做for循环或任何冗长的代码 可能是这样的: var havingParty = false; if ((theArrayWithValuesIn > 10) && (theArrayWithValuesIn < 100)) { havingParty = true; } else { havingParty = false; } va

假设数组中有(任意数量)值,并且希望查看其中是否有超过(较低数量)和低于较高数量的值,您将如何做到这一点

回答时不要做for循环或任何冗长的代码

可能是这样的:

var havingParty = false;
if ((theArrayWithValuesIn > 10) && (theArrayWithValuesIn < 100)) {
    havingParty = true;
} else {
    havingParty = false;
}
var havingParty=false;
如果((值大于10的阵列)和&(值小于100的阵列)){
拥有一方=真实;
}否则{
拥有一方=虚假;
}
会有用的


请注意:
x
y
,碰撞检测,压缩代码。

以下是一个简单的答案:

var arr = [0,10,100,30,99];
var config = {min:0,max:100};

// filter is a method that returns only array items that respect a 
//condition(COND1 in this case )
var arr2 = arr.filter(function(item){
  //COND 1 : 
  return item > config.min && item < config.max;
});
var-arr=[0,10100,30,99];
变量配置={min:0,max:100};
//filter是一种仅返回与
//条件(本例中为条件1)
var arr2=arr.filter(功能(项目){
//条件1:
返回项>config.min&&item
如果我正确理解了您的问题,您需要检查给定数组是否有大于其他值的值

有一个很有用的函数叫做
some
()

使用这种方法的一个例子是:

const a = [1, 2, 3, 4, 5];
a.some(el => el > 5) // false, since no element is greater than 5
a.some(el => el > 4) // true, since 5 is greater than 4
a.some(el => el > 3) // true, since 4 and 5 are greater than 3
const a = [1, 2, 3, 4, 5];
a.every(el => el > 3) // false
a.every(el => el > 0) // true
与此类似的函数是
every
,它检查所有值是否满足给定条件()

这方面的一个例子是:

const a = [1, 2, 3, 4, 5];
a.some(el => el > 5) // false, since no element is greater than 5
a.some(el => el > 4) // true, since 5 is greater than 4
a.some(el => el > 3) // true, since 4 and 5 are greater than 3
const a = [1, 2, 3, 4, 5];
a.every(el => el > 3) // false
a.every(el => el > 0) // true
我的示例只是检查大于,但您可以传入任何返回布尔值的回调以进行更复杂的检查

因此,在您的示例中,如果您希望检查所有元素是否满足要求,类似这样的操作可能会奏效:

const havingParty = theArrayWithValuesIn.every(el => el < 100 && el > 10);
const havingParty=thearraywhatvaluesin.every(el=>el<100&&el>10);

const havingParty=某些(el=>el<100&&el>10)中有值的阵列;

如果您只关心至少一个元素满足要求。

根据您的条件

“如果其中任何一项超过(较低金额)或低于较高金额”

数组。一些
函数将是最合适的“工具”:

var最小值=10,最大值=100,
结果1=[1,2,3,30]。一些((v)=>minmin
这个代码有什么问题?你想得到这些数字之间的所有值吗?为什么循环不好?@lolka_bolka,因为我已经有足够的循环了,它可以是一个数字数组,也可以是一个不在数组中的单个数字。你明白我的意思了吗?请给代码添加注释,这样我就能理解它,并且可以根据我的需要对它进行修改。只是作为一个补充:如果你只想知道是否存在满足条件的元素,你可以检查arr2的长度,比如:
var exists=arr2.length>0
那么,有些元素像any,而每个元素都像all吗,如果不在if中,
value
如何工作?这与将值设置为文本字符串的方式类似吗?表达式是一种文字吗?确切地说,
some
在其他编程语言中转换为
any
,而
每一个
基本上都是
all
。恐怕我不明白你的第二个问题。英语算是一种编程语言吗?我想不算,是你让我明白了。我只是想指出,不同编程语言的方法名称并不一致。