You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用while迭代器实现square_array方法:对数组元素求平方并返回新数组

实现使用while迭代器的square_array方法

没问题,这就帮你搞定这个Ruby方法!按照要求用while迭代器来实现的话,完整代码如下:

def square_array(array)
  new_array = []
  index = 0
  while index < array.length
    new_array << array[index] ** 2
    index += 1
  end
  new_array
end

代码细节解释:

  • 先初始化一个index变量从0开始,用来定位当前遍历到原数组的哪个元素
  • while index < array.length是循环的核心条件:只要索引还没超出数组的有效范围(数组索引从0开始,最后一个元素的索引是array.length - 1),就继续执行循环
  • 每次循环里,用array[index] ** 2计算当前元素的平方(Ruby里**是幂运算运算符,用来算平方比*更直观),再把结果追加到new_array里
  • 重中之重:index += 1必须加!每次循环后让索引自增,才能遍历下一个元素,漏了这步会直接陷入无限循环哦
  • 最后返回我们构建好的平方值新数组

测试示例:

调用这个方法试试效果:

puts square_array([1, 2, 3, 4]).inspect # 输出: [1, 4, 9, 16]
puts square_array([-2, 0, 5]).inspect    # 输出: [4, 0, 25]

不管是正数、负数还是零,都能正确计算出对应的平方值。

内容的提问来源于stack exchange,提问作者Peter Drake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:56:40