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;i log(isUniform(['a','b','a','a'])代码>您只需将第一项与其他项核对即可
函数是统一的(数组){
var i,
第一个=数组[0];
对于(i=1;i log(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);