代码之家  ›  专栏  ›  技术社区  ›  Karol Selak

非变异数组推送方法等价

  •  6
  • Karol Selak  · 技术社区  · 8 年前

    我想以非变异的方式向数组中添加新元素。在JS中,我可以做到:

    var new_arr = arr.concat(3)
    

    而不是这个:

    arr.push(3)
    

    我如何在Ruby中做同样的事情?这个 concat Ruby中的方法正在发生变化。

    2 回复  |  直到 8 年前
        1
  •  14
  •   Sergio Tulentsev    8 年前

    就这么简单:

    new_arr = arr + [3]
    
        2
  •  6
  •   Brian Kung    7 年前

    我将添加另一个使用数组splats的解决方案,这可能看起来不那么尴尬:

    new_arr = [*arr, 3]