Javascript 如何检查数组是否只包含一个不同的元素?
如何检查数组是否只包含一个不同的元素? `Javascript 如何检查数组是否只包含一个不同的元素?,javascript,Javascript,如何检查数组是否只包含一个不同的元素? ` 试试这个简单的实现 function checkIfThereIsOnlyOneElement(arr) { var map = {};//create a map for( var counter = 0; counter < arr.length; counter++) { map[ arr[ counter ] ] = true; if ( Object.keys ( map ).length > 1 )
试试这个简单的实现
function checkIfThereIsOnlyOneElement(arr)
{
var map = {};//create a map
for( var counter = 0; counter < arr.length; counter++)
{
map[ arr[ counter ] ] = true;
if ( Object.keys ( map ).length > 1 ) //check if this map has only one key
{
return false;
}
}
return true;
}
试试这个简单的实现
function checkIfThereIsOnlyOneElement(arr)
{
var map = {};//create a map
for( var counter = 0; counter < arr.length; counter++)
{
map[ arr[ counter ] ] = true;
if ( Object.keys ( map ).length > 1 ) //check if this map has only one key
{
return false;
}
}
return true;
}
使用对象:
var arr=[1,1,1],
arr2=[1,2,3],
checkForOne=functionarr{
返回新的Setarr.size==1;
}
console.logcheckforonear;
console.logcheckForOnearr2 使用对象:
var arr=[1,1,1],
arr2=[1,2,3],
checkForOne=functionarr{
返回新的Setarr.size==1;
}
console.logcheckforonear;
console.logcheckForOnearr2 您可以通过以下方式实现它: var-arr=[1,1,1]; var arr2=[1,2,3]; console.logcheckwhere是否为onneeelementar; console.LOGCHECKTHEREISONEEELEMENTARR2; 函数检查如果此处为OnlyoneElementArr{ arr.sort; 返回arr[0]==arr[arr.length-1]
} 您可以通过以下方式实现它: var-arr=[1,1,1]; var arr2=[1,2,3]; console.logcheckwhere是否为onneeelementar; console.LOGCHECKTHEREISONEEELEMENTARR2; 函数检查如果此处为OnlyoneElementArr{ arr.sort; 返回arr[0]==arr[arr.length-1]
} 只需检查所有元素是否包含相同的值,一种方法是使用lodash模块的uniq函数:
checkIfThereIsOnlyOneElement(arr){
return _.uniq(arr).length == 1;
}
只需检查所有元素是否包含相同的值,一种方法是使用lodash模块的uniq函数:
checkIfThereIsOnlyOneElement(arr){
return _.uniq(arr).length == 1;
}
您可以检查数组中的唯一值。基于此术语,我们可以实现您的功能: var-arr=[1,1,1]; var arr2=[1,2,3]; 函数检查如果此处为OnlyoneElementArr{ 返回arr.filterfunction项,i,ar{ 返回ar.indexOfitem==i; }.长度===1; } console.logcheckwhere是否为onneeelementar;
console.LOGCHECKTHEREISONEEELEMENTARR2 您可以检查数组中的唯一值。基于此术语,我们可以实现您的功能: var-arr=[1,1,1]; var arr2=[1,2,3]; 函数检查如果此处为OnlyoneElementArr{ 返回arr.filterfunction项,i,ar{ 返回ar.indexOfitem==i; }.长度===1; } console.logcheckwhere是否为onneeelementar;
console.LOGCHECKTHEREISONEEELEMENTARR2 这个函数有很多非常简单的实现。让我给你们两个,一个是功能性的一行程序,另一个是一个迭代的,可能性能更好的代码段 顺便说一下,您的命名非常糟糕,应该称为:isArrayOfTheSameElements
这个函数有很多非常简单的实现。让我给你们两个,一个是功能性的一行程序,另一个是一个迭代的,可能性能更好的代码段 顺便说一下,您的命名非常糟糕,应该称为:isArrayOfTheSameElements 您只能使用和检查agsindt第一个RSR元素 功能检查显示{ return array.everyfunction a,10;,aa{return a===aa[0];}; } var arr=[1,1,1], arr2=[1,2,3]; console.logcheckDistinctarr;//符合事实的 console.logcheckdistinctar2;//false您只能使用并检查agsindt第一个RSR元素 功能检查显示{ return array.everyfunction a,10;,aa{return a===aa[0];}; } var arr=[1,1,1], arr2=[1,2,3]; console.logcheckDistinctarr;//符合事实的
console.logcheckdistinctar2;//false你总是可以很好地做喜欢的事。每一件事都像but所指出的那样,但对于不同的事物,你也可以做喜欢的事 var all=a=>a.length-1?a[0]==a[1]&&alla.slice1:true; 控制台.logall[1,1,1,1];
控制台.logall[1,1,1,2] 你总是可以很好地做喜欢的事。每一件事都如你所指出的那样,但对于不同的事物,你也可以做喜欢的事 var all=a=>a.length-1?a[0]==a[1]&&alla.slice1:true; 控制台.logall[1,1,1,1];
控制台.logall[1,1,1,2];一个元素表示..相同的参数?在数组上使用Array.length?循环,从循环的第二次迭代开始,基本上从1开始循环,而不是从0开始将元素与前一个元素进行比较。如果比较结果为false,则返回false。循环结束后,返回true。@Saravana这对我有什么帮助?@PHPGeek如果这是一个php问题,那就太好了……一个元素意味着……相同的参数?在数组上使用Array.length?循环,从循环的第二次迭代开始,基本上从1开始循环,而不是从0开始将元素与前一个元素进行比较。如果比较结果为false,则返回false。循环结束后,返回true。@Saravana这对我有什么帮助?@PHPGeek如果这是一个php问题,那就太好了…@Kinduser它正在检查数组中是否只有一个唯一的元素。@Kinduser没有理解你。它正在引爆打开的门@Kinduser我知道,我是想问-我是以什么方式这样做的。@Kinduser正在检查数组中是否只有一个唯一的元素。@Kinduser没有得到您的答案。它正在引爆打开的门@我知道,我想问的是——我是以什么方式这么做的。Array.length还不够吗?使问题复杂化的要点是什么?@Kindu:Array.length如何足够?@Kindu
瑟,在我看来,这个问题是关于一个独特的元素。这就是为什么OP希望[1,1,1]@David Fine为true,如果OP只寻找唯一的元素,那么这就是出路。Array.length还不够吗?使问题复杂化的要点是什么?@Kinduser:Array.length如何足够?@Kinduser,在我看来,这个问题似乎是关于一个独特的元素。这就是为什么OP希望[1,1,1]@David Fine实现的原因。如果OP只是在寻找独特的元素,那么这就是出路。非常好。对数组排序,然后检查第一项和最后一项是否相同。另一个答案让事情变得复杂,如果数组有1000个元素长怎么办?我只是觉得排序功能会有点过头。依我看,Set方法似乎要好得多。OP有一个例子3元素长。仅仅为了这个而过度设计一些东西是没有意义的。如果OP有严重的性能问题,我想他们会回来的。非常好。对数组排序,然后检查第一项和最后一项是否相同。另一个答案让事情变得复杂,如果数组有1000个元素长怎么办?我只是觉得排序功能会有点过头。依我看,Set方法似乎要好得多。OP有一个例子3元素长。仅仅为了这个而过度设计一些东西是没有意义的。如果OP有严重的性能问题,我想他们会回来的。