(Javascript)确定对象数组中是否包含numbervalue或小于numbervalue的数字

(Javascript)确定对象数组中是否包含numbervalue或小于numbervalue的数字,javascript,arrays,Javascript,Arrays,我有一个包含连续整数数组的对象数组和一个整数值: const worlds=[ {levelNumber:[0,1,2,3,4,5]}, {levelnumber:[6,7,8,9,10]}, {levelnumber:[11,12,13,14]}]; 常数达到9级; 我想确定每个世界对象中是否包含达到级别或低于该级别的值,并在每个对象上设置一个锁定值 我试过这个: worlds.forEach(world=>{ world.locked=!world.levelNumber.includes

我有一个包含连续整数数组的对象数组和一个整数值:

const worlds=[
{levelNumber:[0,1,2,3,4,5]},
{levelnumber:[6,7,8,9,10]},
{levelnumber:[11,12,13,14]}];
常数达到9级;
我想确定每个世界对象中是否包含
达到级别
或低于该级别的值,并在每个对象上设置一个锁定值

我试过这个:

worlds.forEach(world=>{
world.locked=!world.levelNumber.includes(达到级别);
}
);

但是它“锁定”了所有的世界,除了包含实际达到的等级的世界。我希望worlds[0]已锁定设置为false,即使达到的级别为例如10。

您可以使用检查所有级别数字是否大于达到的级别,并将结果分配给
锁定的
参数

const worlds=[
{levelNumber:[0,1,2,3,4,5]},
{levelnumber:[6,7,8,9,10]},
{levelnumber:[11,12,13,14]}
];
常数达到9级;
forEach(world=>
world.locked=world.levelNumber.every(n=>n>reachedLevel)
)

console.log(worlds)
您的键名有拼写错误。前两个元素使用
levelnumbers
,但最后一个是
levelnumbers
。另外,javascript没有
contains
函数,而是使用
indexOf
,如果元素不存在,则返回
-1

首先,检查javascript对象。它包含
levelnumbers
levelnumbers
,两者不相同

第二,不要使用
包含
而使用
包含
,那么
包含什么呢

const worlds=[
{levelNumber:[0,1,2,3,4,5]},
{levelnumber:[6,7,8,9,10]},
{levelnumber:[11,12,13,14]}];
常数达到9级;
forEach(world=>{
world.locked=world.levelNumber.includes(reachedLevel)
}
);

console.log(worlds)您可以查看数字的最小值,然后对照您的值进行检查

const
世界=[{levelNumbers:[0,1,2,3,4,5]},{levelNumbers:[6,7,8,9,10]},{levelNumbers:[11,12,13,14]},
达到9级;
worlds.forEach(world=>world.locked=Math.min(…world.levelNumber)>reachedLevel);
console.log(worlds)

。作为控制台包装{max height:100%!important;top:0;}
您有想要的结果吗?我总是混淆包含和包含。。。所以我的意思是包含-大小写输入错误只是输入错误,因为我没有复制/粘贴任何代码。看起来你已经得到了@NinaScholzFirefox仍然保留
contains
,但它是非标准的,在大多数其他环境中都不是一个选项。然而,有一个
包含
,“而不是包含使用include和what is contains虽然?”它是最初为该功能提出的方法的名称。然而,MooTools库已经更改了本机原型,添加了自己版本的
contains
,这与ES提案不兼容。结果是
contains
propoasal被更改为
includes
。Firefox还使用了一个(现在)非标准的
contains
方法来添加数组,但不应该依赖它。因此,我们可能最终使用了
contains
而不是
includes
contains
更有意义。