如何在javascript中相互检查所有数组元素?

如何在javascript中相互检查所有数组元素?,javascript,Javascript,我试着使用if语句,如果真的是“这样做”,那个将是伟大的,若你们能以最有效的方式解决这个问题,真的通知它。 感谢您的帮助我们知道,要使所有元素彼此相等,它们必须都等于数组中的第一个元素。如果arr[0]==arr[1]和arr[0]==arr[2],那么肯定arr[1]==arr[2]。因此,我们只需要对照第一个元素检查每个元素。我们可以使用for循环来实现这一点 let me explain my question with examples: // let arr = [1,2,3,4,5]

我试着使用if语句,如果真的是“这样做”,那个将是伟大的,若你们能以最有效的方式解决这个问题,真的通知它。
感谢您的帮助

我们知道,要使所有元素彼此相等,它们必须都等于数组中的第一个元素。如果
arr[0]==arr[1]
arr[0]==arr[2]
,那么肯定
arr[1]==arr[2]
。因此,我们只需要对照第一个元素检查每个元素。我们可以使用for循环来实现这一点

let me explain my question with examples:
// let arr = [1,2,3,4,5];
I would like to compare all of them:
1 === 2
1 === 3
1 === 4
1 === 5
2 === 3
2 === 4
2 === 5
3 === 4
3 === 5
4 === 5
for(变量i=1;i
用于
内部
用于

for(var i = 1; i < arr.length; i++) {
    if(arr[i] !== arr[0]) {
        return false;
    }
}
return true;
for(变量i=1;i
i[0]将与j[0]、j[1]、j[2]、j[3]、j[4]进行比较


我[1]将与j[0]、j[1]、j[2]、j[3]、j[4]进行比较。

也许这会让你感到快乐?:)

const testArray=(arr)=>arr.sort().join()==arr.sort().reverse().join()
const typedTestArray=(arr)=>testArray(arr)&&testArray(arr.map(x=>typeof x))
log('必须为true',testArray([1,1,1,1]))
log('必须为false',testArray([1,0,0,1]))
log('必须为false',testArray(['happy','sad']))

log('必须为false',typedTestArray([1,'1',1,1]))
StackOverflow不是一种代码编写服务。你需要展示你到目前为止所做的尝试,以及你遇到的问题,然后我们可以帮助你解决这些问题。
i
应该从0开始,而
j
应该从
i
开始,这样每对夫妇都只需要根据他的问题检查一次,你希望你的内环是
(var j=i+1;…
。这样你就不会将0与0、1与1等进行比较。
[0、1、1、2、3]
?第二个和第三个元素相等,但都不等于第一个元素。@David784我将问题解释为“检查所有元素是否与所有其他元素相等。”但是这没有任何意义!!例如
[1,2,2,1]
结果
true
@Francesco,很好的观点,谢谢。添加了sort()。不太优雅,但解决了这个问题。为什么
[2,2,'2',2]
?应该是真的还是假的?@Francesco这取决于……如果需要的话,它也可以用同样的方法进行测试。但我们不知道作者将如何使用它。无论如何,这个案例也值得一提,谢谢。我真的很喜欢你的
反向
方法;我给你另一种方法:
[1,1,1,1]。每个((元素,索引,数组)=>元素===数组[0])
for(var i = 1; i < arr.length; i++) {
for(var j = 1; j < arr.length; j++) {
    if(arr[i] === arr[j]) {
        console.log("ok");
    }
}}