Javascript 当我使用===而不是!==时,为什么更改“if”条件会给出不同的答案?
函数检查数组元素是否相同,如果它们相同,则返回true 当我使用下面的函数时,它给出了正确的结果 var-arr=[1,2,3,4]; 函数是统一格式的{ var store=arr[0]; 对于变量i=0;iJavascript 当我使用===而不是!==时,为什么更改“if”条件会给出不同的答案?,javascript,arrays,if-statement,Javascript,Arrays,If Statement,函数检查数组元素是否相同,如果它们相同,则返回true 当我使用下面的函数时,它给出了正确的结果 var-arr=[1,2,3,4]; 函数是统一格式的{ var store=arr[0]; 对于变量i=0;i arr.includes(arr[0]) // returns true 问题是,如果下一个值之一与arr[0]相同,则代码段将返回true,请参见以下示例: var-arr=[1,1,3,1,1]; 函数是统一格式的{ var store=arr[0]; 对于变量i=0;i
(new Set(array)).size === 1
它返回真的。。。你也可以考虑做……/P>
arr.includes(arr[0]) // returns true
问题是,如果下一个值之一与arr[0]相同,则代码段将返回true,请参见以下示例: var-arr=[1,1,3,1,1]; 函数是统一格式的{ var store=arr[0]; 对于变量i=0;i
如果所有元素都不等于store,那么第一个函数返回false,如果所有元素都等于store,那么返回true,但是前面没有测试所有元素是否等于store,在这种情况下,这只是一个逻辑结论 第一个循环给出了正确的答案,因为列表中的元素不相同,第二个循环的问题是它检查列表中的每个元素,当我发现一个元素等于数组[0]时(在本例中为1),它将返回true,这是不可能的 第二个循环应该是: var-arr=[1,2,3,4]; 函数是统一格式的{ var store=arr[0]; var响应=假; 对于变量i=0;i