[英]Iterate over an array of objects
我在对象中有一个对象数组,并尝试简化为数组的特定形式。 例如:
[
#<Item name: "Item 1", content: #<Item value: #<Item quantity: val1>, #<Item
quality: val2>>,
#<Item name: "Item 2", content: #<Item value: #<Item quantity: val1>, #<Item
quality: val2>>,
#<Item name: "Item 3", content: #<Item value: #<Item quantity: val1>, #<Item
quality: val2>>,
#<Item name: "Item 4", content: #<Item value: #<Item quantity: val1>, #<Item
quality: val2>>,
#<Item name: "Item 5", content: #<Item value: #<Item quantity: val1>, #<Item
quality: val2>>
]
应该减少到
[ [Item1, [val1, val2]], [Item2, [val1, val2]], [Item3, [val1, val2]], [Item4,
[val1, val2]], [Item5, [val1, val2]]]
我努力了
arr1 = []
arr2 = []
array.each do |array|
arr1 << array.name
arr2 << array.value.quantity
arr2 << array.value.quality
arr1 << arr2
end
上面代码的输出是
[ Item1, [val1,val2,val1,val2,val1,val2,val1,val2,val1,val2,val1,val2],
Item2, [[val1,val2,val1,val2,val1,val2,val1,val2,val1,val2,val1,val2]....]
这段代码的问题是它不会停止对每个对象的迭代,我的意思是对Item1而言,它应该仅对val1和val2才对Item1。
我将从以下内容开始:
array.map do |element|
[element.name, [element.value.quantity, element.value.quality]]
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.