Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查数组是否只包含一个不同的元素?_Javascript - Fatal编程技术网

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有严重的性能问题,我想他们会回来的。