比较数组中的值?

时间:2012-12-30 04:15:12

标签: ruby

我需要比较数组中的值。

例如,我的数组是:

[18, 1, 113, 103, 1100, 909, 94, 67, 61]

我需要比较每个值,例如18->11->113113->103等等。

1 个答案:

答案 0 :(得分:2)

你没有说你想要什么样的比较,但是这将通过数组,比较连续的元素:

puts [
  18, 1, 113, 103, 1100, 909, 94, 67, 61
].each_cons(2).map{ |a, b| a <=> b }

哪个输出:

1
-1
1
-1
1
1
1
1

比较运算符<=>用于排序以比较两个值。它在a < b时返回-1,在a == b时返回0,在a > b时返回1.

因此,它告诉我们18 > 11 < 113113 > 103103 < 1100以及其他所有内容都按降序排列。

<=>替换为您需要的任何比较。