首页 > 解决方案 > (Javascript) 判断对象数组中是否包含数字值或小于该数字值的数字

问题描述

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

const worlds = [
{levelnumbers: [0,1,2,3,4,5]},
{levelnumbers: [6,7,8,9,10]},
{levelnumbers: [11,12,13,14]}];

const reachedLevel = 9;

我想确定reachedLevel每个世界对象中是否包含低于该值的值,并在每个对象上设置一个锁定值。

我试过这个:

worlds.forEach(world => {
world.locked = !world.levelnumbers.includes(reachedLevel);
}
);

而是“锁定”所有世界,但包含实际达到的水平的世界。我希望 worlds[0] 锁定设置为 false 即使 levelReached 是例如。10.

标签: javascriptarrays

解决方案


您可以查看最小的数字并检查您的价值。

const
    worlds = [{ levelNumbers: [0, 1, 2, 3, 4, 5] }, { levelNumbers: [6, 7, 8, 9, 10] }, { levelNumbers: [11, 12, 13, 14] }],
    reachedLevel = 9;

worlds.forEach(world => world.locked = Math.min(...world.levelNumbers) > reachedLevel);

console.log(worlds);
.as-console-wrapper { max-height: 100% !important; top: 0; }


推荐阅读