这可能是一个漫长的过程,但如果存在的话,将会使生活稍微容易一些。
在任何情况下都是这种情况。我有一个哈希数组,其中一个键值是另一个哈希值……..是的,我知道。
这是一个更好的解释:
@myArrayOfStuff[0]
@myArrayOfStuff[0]["single-key"]
@myArrayOfStuff[0]["single-key"]["object-identifier"]
第一个返回哈希。
第二个将返回一个对象(在我的情况下称为page,但示例使用不同的名称)
第三个返回我引用作为对象标识符的变量。
很简单。
我想做的是选择另一个对象标识符值不为nil或大于x的数组。类似于activerecord.where方法。
@x = @myArrayOfStuff.where(["single-key"]["object-identifier"]) > 3orwhatever
显然,这是不可行的,因为语法很糟糕。但是还有另一种解决方法吗?另一种尝试的方法可能是通过此变量对数组进行排序。就像是
@x = @myArrayOfStuff.sort {|x,y| y <=> x }
但是我真的不了解ruby的sort方法发生了什么。
有人可以帮忙吗?
最佳答案
您可以使用select方法。
@x = @my_array_of_stuff.select {|v| v["single-key"]["object-identifier"] > 3}