Javascript 如何使此函数检查数组(表1)中的元素是否相同?它适用于数字,但不适用于字符串

Javascript 如何使此函数检查数组(表1)中的元素是否相同?它适用于数字,但不适用于字符串,javascript,arrays,string,typeof,Javascript,Arrays,String,Typeof,函数正在检查数组中的元素是否相同 function isUniform(){ var table1 = ['a','b','a','a']; for(var y = table1.length - 1; y>=0; y--){ if( (typeof table1 === 'string' && table1[y] !== table1[y - 1]) || (typeof table1 !== 'string' && table1[y] !== t

函数正在检查数组中的元素是否相同

function isUniform(){
var table1 = ['a','b','a','a'];
for(var y = table1.length - 1; y>=0; y--){
    if( (typeof table1 === 'string' && table1[y] !== table1[y - 1]) || (typeof table1 !== 'string' && table1[y] !== table1[y - 1] && table1[y - 1] >0) ){
        return false;
    }
}
return true;}
它应该返回false


编辑:谢谢大家的帮助

您正在检查索引
y-1
处的元素是否大于
0
。您应该检查该索引处的索引而不是元素

函数是统一的(表1){
对于(变量y=table1.length-1;y>=0;y--){
if((表1的类型=='string'&表1[y]!==表1[y-1])|;(表1的类型=='string'&表1[y]!==表1[y-1]&表1[y-1>0)){
返回false;
}
}
返回true;
}

console.log(isUniform(['a','b','a','a'])
您正在检查索引
y-1
处的元素是否大于
0
。您应该检查该索引处的索引而不是元素

函数是统一的(表1){
对于(变量y=table1.length-1;y>=0;y--){
if((表1的类型=='string'&表1[y]!==表1[y-1])|;(表1的类型=='string'&表1[y]!==表1[y-1]&表1[y-1>0)){
返回false;
}
}
返回true;
}

log(isUniform(['a','b','a','a','a'])
您只需将第一项与其他项相互检查即可

函数是统一的(数组){
var i,
第一个=数组[0];
对于(i=1;ilog(isUniform(['a','b','a','a'])您只需将第一项与其他项核对即可

函数是统一的(数组){
var i,
第一个=数组[0];
对于(i=1;ilog(isUniform(['a','b','a','a'])您可以使用简化代码。根据文件

使用Set对象可以存储任何类型的唯一值,无论是基元值还是对象引用

函数是统一的(){
变量表=['a','b','a','a'];
返回新集合(表)。大小===1;
}

log(isUniform())您可以使用简化代码。根据文件

使用Set对象可以存储任何类型的唯一值,无论是基元值还是对象引用

函数是统一的(){
变量表=['a','b','a','a'];
返回新集合(表)。大小===1;
}

log(isUniform())您可以使用
table.every(item=>item===table[0])

函数是统一的(表){
返回表.every(项=>项===表[0])
//回归试验;
}
变量表1=['a'、'b'、'a'、'a'];

console.log(isUniform(table1))
您可以使用
table.every(item=>item==table[0])

函数是统一的(表){
返回表.every(项=>项===表[0])
//回归试验;
}
变量表1=['a'、'b'、'a'、'a'];

log(isUniform(表1))
为什么要检查这么多?
table1[y-1]>0
应该做什么?为什么有这么多检查?
table1[y-1]>0
应该做什么?
function isUniform (table) {
  var first = table.shift();
  return !table.find((item) => {
    return item !== first;
  });
}

var table = ["a", "b", "a", "a"];
isUniform(table);