【问题标题】:Using && operator in javascript return statement在 javascript return 语句中使用 && 运算符
【发布时间】:2022-12-12 01:14:05
【问题描述】:

我正在学习 javascript 并且我在 javascript 代码中应用过滤器,在下面的代码中,是否有可能即兴创作这段代码?我希望有人能告诉我如何只使用一个变量来存储大于 18 岁和小于 18 岁的年龄结果。是否可以在单个返回语句中使用 && 运算符?这样在最终结果中我可以将数据显示为

18、21、24、30、32 类别下的选民可以投票。 10,15 岁以下的选民不能投票

//Code

const ages = ["10", "15", "18", "21", "24", "30", "32"];
const ageResultabove = ages.filter((ageabove) => {
  return ageabove >= 18;
});
const ageResultbelow = ages.filter((ageabelow) => {
  return ageabelow < 18;
});
console.log(`Voters under ${ageResultabove} category can vote`);
console.log(`Voters under ${ageResultbelow} category cannot vote`);

结果应该是这样的 18、21、24、30、32 类别下的选民可以投票。 10,15 岁以下的选民不能投票

【问题讨论】:

  • 您发布的代码不正确。在比较它们之前,您应该确保列表中的年龄已转换为数字。最简单的方式是+ageabove+agebelow
  • @Pointy 大多数(如果不是全部)引擎会在比较之前将其转换为数字
  • 另外,我看不到 &amp;&amp; 与您想要的有任何关系。无论哪种方式,您都需要两个单独的列表来获得所需的输出。
  • 这个问题更像是如何使用过滤器获取不匹配的元素?
  • 您可以将这两个值放入具有“above”和“below”属性的对象中,然后返回该对象。

标签: javascript arrays filter logical-operators


【解决方案1】:

你为什么不把这两个字符串连接起来呢? 喜欢:

console.log(`Voters under ${ageResultabove} category can vote. Voters under ${ageResultbelow} category cannot vote`);

&& 运算符用于逻辑比较,因此如果您使用它,结果将是一个布尔值(True 或 False)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 2019-11-14
    • 2011-04-24
    • 2015-11-28
    • 2013-03-02
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    相关资源
    最近更新 更多