ruby-on-rails - 如何交换嵌套数组中的变量?
问题描述
我有 2 个已压缩在一起的数组,现在我正在尝试在偶数位置滑动值。
所以这就是我尝试过的:
a = [1, 2, 3, 4]
b = [111, 222, 333, 444]
c = a.zip(b)
# Now c is equal to: [[1, 111], [2, 222],[3, 333],[4, 444]]
c.map.with_index do |item, index|
a = item[0]
b = item[1]
if index%2 == 0
a, b = b, a
end
end
我想拥有的:
c = [[1, 111], [222,2], [3, 333],[444, 4]]
但是还是不行,有没有更好的解决方案?或者我怎样才能修复我的让它工作?
编辑:我意识到我可能只使用“.reverse”方法来交换元素。但我仍然无法让它发挥作用。
解决方案
也许尝试:
c.map.with_index do |item, index|
index%2 != 0 ? item.reverse : item
end
=> [[1, 111], [222, 2], [3, 333], [444, 4]]
推荐阅读
- amazon-web-services - 如何使用 boto (2.49.0) 库调用 AWS lambda 函数?
- python - NumPy,如何有效地进行涉及 ndarray 其他元素的元素操作(无循环)
- android - 偶尔会出现 NoActivityFound 异常
- sql - 为每种 ID 语言添加“CustomDescription”列的计算查询
- php - 在 Bootstrap 4 Carousel 的 WP_Query 中按自定义 Woocommerce 产品排序排序
- java - Berkeley DB JE JDB 文件不断增加
- oracle - Oracle DDL 触发器:如何检索有关事件发生的更多详细信息?
- java - 在缓慢的消费者 kafka 上处理背压并避免重新平衡
- javascript - 如何使用 cypress 调用外部脚本?
- python - 如何替换值大于0的csv文件的最后一列