相关疑难解决方法(0)

检查数组中的每个项目在javascript中是否相同

我需要测试数组中的每个项是否彼此相同.例如:

var list = ["l","r","b"]

应评估为false,因为每个项目不相同.另一方面这个:

var list = ["b", "b", "b"]

应该评估为真,因为它们都是相同的.实现这一目标的最有效(速度/资源)方式是什么?

javascript arrays

14
推荐指数
4
解决办法
2万
查看次数

Ruby:检查所有数组元素是否相等

我对Ruby代码有点'问题'.我想检查一个数组的所有元素是否相等.

例如,假设我有一个只有5的数组:

arr = [5, 5, 5, 5, 5]
Run Code Online (Sandbox Code Playgroud)

我知道我可以做点什么

arr[0] == arr[1] == arr[2] == arr[3] # == arr[4] == ...
Run Code Online (Sandbox Code Playgroud)

但是对于大型阵列来说这是不可能的,而且在我看来也不像Ruby那样.我们可以通过这样做来改进它:

def all_equal?(arr)
  for i in 0..(arr.size-2)
    if arr[i] != arr[i+1] then
      return false
    end
  end
  true
end
Run Code Online (Sandbox Code Playgroud)

但我也认为这很难看.那么有没有内置/更好/更短(更多Ruby风格)的方式来做到这一点?

TL; DR什么是检查数组是否只包含一个不同元素(例如 [5, 5, 5])的最短/最Ruby特有的方法

谢谢.

ruby arrays equality

7
推荐指数
3
解决办法
5927
查看次数

检查所有数组值是否与reduce()相同

我需要比较一个数组中的所有值,以了解它们是否全部相等.所以这很好,并给我预期的输出

var myArray1 = [50, 50, 50, 50, 50];  // all values are same, should return true
var myArray2 = [50, 50, 50, 50, 51];  // last value differs, should return false

function compare(array) {
    var isSame = true;
    for(var i=0; i < array.length; i++) {
       isSame = array[0] === array[i] ? true : false;
    }
    return isSame;
}

console.log('compare 1:', compare(myArray1)); // true 
console.log('compare 2:', compare(myArray2)); // false
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用reduce(),但看起来我误解了这个功能.他们都说这是假的.我做错了什么吗?我可以用它reduce()来得到我需要的东西吗?如果是这样的话?

javascript arrays

3
推荐指数
1
解决办法
7365
查看次数

标签 统计

arrays ×3

javascript ×2

equality ×1

ruby ×1