Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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,我试图比较hello和hey这两个词,如果它们相等,我的代码返回true,但它们不是。如何修改代码,使其在比较两个单词时返回false function mutation(arr) { var sorted =[]; for (var i =0; i<arr.length; i++) { sorted.push(arr[i].toLowerCase()); } for (var j =0; j<sorted.length;j++) { for(

我试图比较hello和hey这两个词,如果它们相等,我的代码返回true,但它们不是。如何修改代码,使其在比较两个单词时返回false

function mutation(arr) {
  var sorted =[];
  for (var i =0; i<arr.length; i++)  {
    sorted.push(arr[i].toLowerCase());
  }


  for (var j =0; j<sorted.length;j++)  {
    for(var k=0; k<sorted.length; k++)  {
      if(sorted[j]  == sorted[k])  {
        return true;
      } else{
        return false;
      }
    }
  }
}

mutation(["hello", "hey"]);
功能突变(arr){
var排序=[];

对于(var i=0;i只需将第二个循环更改为从j+1开始,因为您实际上是在比较0和0的位置

for(var k=j+1; k<sorted.length; k++)  {

for(var k=j+1;k给定“突变”参数的代码样本有2项。我的解决方案还假设arr是一个包含2项的数组

function mutation(arr) {
  if(arr[0] !== arr[1]) {
    return false;
  }
  return true;
}

mutation(["hello", "hey"]);

您的代码令人困惑。它似乎假设数组中只有两个元素。这是正确的吗?那么为什么不使用
arr[0]。toLowerCase()===arr[1]。toLowerCase()
?与这种O(n²)方式搜索单个重复项相比,这是非常简短和快速的:
newset(arr).size!==arr.length
但是代码的作用(在按照答案中的建议更正k循环之后)和文本所说的是不同的东西您有两个字符串,您需要函数?如果他或她在一个数组中有两个字符串。您只能使用数组[0]==array[1]?这个问题太有趣了:)