如何计算嵌套数组中的数组数

时间:2016-03-10 01:02:43

标签: ruby-on-rails arrays ruby ruby-on-rails-4

我想计算数组嵌套数组中数组的数量

array = [[["-", 0, "I"], ["+", 0, "you"]], [["+", 3, "i"]], [["-", 4, "loved"], ["-", 5, "that"], ["+", 5, "it"], ["+", 6, "tasted"], ["+", 7, "like"]]]

此示例在array数组的数组中有8个嵌套数组。 (不确定我说的是否正确)

2 个答案:

答案 0 :(得分:6)

最简单/最干净的方法是将数组部分展平一个嵌套级别:

array.flatten(1).count

其他选项是对子数组求和:

array.inject([], :+).count

然而,你需要问自己的真正问题是 - 我怎么会得到这样一个奇怪的结构?

答案 1 :(得分:0)

这里的关键是正确陈述问题 - 我假设它计算嵌套数组中的数组数量,这些数组本身不包含其他数组。

$blog = Blog::whereDate('updated_at', '=', 'DATE(NOW())')->get();

$blog = Blog::where('DATE(NOW())','=', 'DATE(updated_at)')->get();

$blog = Blog::where(DB::RAW('DATE(NOW()) = DATE(updated_at)'))->get();