如何编写一个代码片段Ruby,它将一组任意嵌套的整数数组展平为一个整数的平面数组。例如[[1,2,[3]],4] - > [1,2,3,4]。请不要使用任何一种语言的任何内置展平功能。
答案 0 :(得分:6)
这是一种不使用内置 <ul class="icon">
<li class="info">aaaaaa</li>
<li class="info">bbbbb</li>
<li class="info">cccccccccccc</li>
<li class="info">ddd</li>
</ul>
方法的解决方案。它涉及递归
ul.icon {
padding-left:20px;
list-style:none;
}
li.icon {
margin-bottom:10px;
}
ul.icon li:before {
font-family: 'FontAwesome';
margin:0 5px 0 -15px;
font-weight: bold;
}
ul.icon li.info:before {
content: "->";
color: green;
}
ul.icon li:hover {
cursor: pointer;
cursor: hand;
background-color: rgb(242, 105, 34);
}
li.info {
font-weight: bold;
transition: all .2s ease-in-out;
}
li.info:hover {
font-style: italic;
transform: scale(1.1);
}
我在irb中测试了这个。
flatten
答案 1 :(得分:4)
arr = [[1,2,[3]],4]
如果在{例如} arr
中只包含数字,则可以(而不是&#34;应该&#34;)执行此操作:
eval "[#{arr.to_s.delete('[]')}]"
=> [1, 2, 3, 4]