javascript - 打印 1-100 的奇数(JavaScript - 没有额外的条件语句)
问题描述
我看过类似的问题,但没有看到直接回答我的问题的东西。我正在寻找最有效的方法来打印奇数 1-100,而不使用任何额外的条件语句(使用 JavaScript)。
解决方案
为了过于复杂:
该
Array.from()
方法从类数组或可迭代对象创建一个新的、浅拷贝的 Array 实例。
...
Array.from()
允许您从以下位置创建数组:
- 类数组对象(具有长度属性和索引元素的对象)或
- 可迭代对象(可以获取其元素的对象,例如 Map 和 Set)。
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from
您可以调用Array.from
具有长度属性且没有其他属性的对象来迭代长度属性的值所在的时间n
。n
的第二个参数Array.from
是一个回调,每次迭代都会调用元素 ( undefined
) 和索引。回调的返回值是新创建的数组上对应的索引值。
我们可以将索引乘以 2,然后减去 1,只得到奇数,这意味着我们可以从 50 的长度开始,而不是迭代 100 次,然后将新创建的数组再迭代 100 次,以返回另一个只有 50 个元素的数组,如建议的那样在其他答案中。
console.log(Array.from({ length: 50 }, (e, i) => (i * 2) + 1).join(' '))
推荐阅读
- python - 如何将新模型推向 tensorflow-serving?
- r - 如何使用 !is.na() 分配值 R data.table
- html - IE11 browser shape overflows SVG element
- dependency-injection - Guice 中 @Provides 方法的函数名
- jdbc - 使用 pyspark jdbc 执行 msdb 存储过程
- amazon-web-services - 如何写入特定的 CloudWatch 组
- python - 使用 Mutagen 编辑 .aiff 文件的标签数据,出现错误“TypeError: not a Frame instance”和“ID3NoHeaderError: doesn't start with an ID3 tag”
- git - 重新设置 git 分支及其与目标分支之间的任何分支
- qt - 使来自不同目录的自定义组件显示在 QML-Designer 中的最简单方法是什么?
- data-visualization - 文本标记的 Vega 自定义样式