如何转换这个数组:
[["10"], ["20"], ["30"], ["40"], ["21"], ["31"], ["41"], ["32"], ["42"], ["43"]]
到这个数组中
[[1, 0], [2, 0], [3, 0], [4, 0], [2, 1], [3 1,], [4, 1], [3, 2], [4, 2], [4, 3]]
最理想的是在最初学者友好的版本可能请。我未能迭代通过数组彻底和使用正确的方法在正确的顺序。
8yparm6h1#
如果输入总是像你的例子一样(数组的数组,每个数组都有一个字符串元素),那么你可以Map得到字符,然后Map结果得到整数;
[["10"], ["20"], ["30"], ["40"], ["21"], ["31"], ["41"], ["32"], ["42"], ["43"]] .map { |str, _| str.chars.map(&:to_i) } # [[1, 0], [2, 0], [3, 0], [4, 0], [2, 1], [3, 1], [4, 1], [3, 2], [4, 2], [4, 3]]
1条答案
按热度按时间8yparm6h1#
如果输入总是像你的例子一样(数组的数组,每个数组都有一个字符串元素),那么你可以Map得到字符,然后Map结果得到整数;