首页 > 解决方案 > 打印 1-100 的奇数(JavaScript - 没有额外的条件语句)

问题描述

我看过类似的问题,但没有看到直接回答我的问题的东西。我正在寻找最有效的方法来打印奇数 1-100,而不使用任何额外的条件语句(使用 JavaScript)。

标签: javascript

解决方案


为了过于复杂:

Array.from()方法从类数组或可迭代对象创建一个新的、浅拷贝的 Array 实例。
...
Array.from()允许您从以下位置创建数组:

  • 类数组对象(具有长度属性和索引元素的对象)或
  • 可迭代对象(可以获取其元素的对象,例如 Map 和 Set)。

- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from

您可以调用Array.from具有长度属性且没有其他属性的对象来迭代长度属性的值所在的时间nn的第二个参数Array.from是一个回调,每次迭代都会调用元素 ( undefined) 和索引。回调的返回值是新创建的数组上对应的索引值。

我们可以将索引乘以 2,然后减去 1,只得到奇数,这意味着我们可以从 50 的长度开始,而不是迭代 100 次,然后将新创建的数组再迭代 100 次,以返回另一个只有 50 个元素的数组,如建议的那样在其他答案中。

console.log(Array.from({ length: 50 }, (e, i) => (i * 2) + 1).join(' '))


推荐阅读