Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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_Arrays_Compare - Fatal编程技术网

Javascript 定义替换/更改字符串的位置时出现异常字符

Javascript 定义替换/更改字符串的位置时出现异常字符,javascript,arrays,compare,Javascript,Arrays,Compare,我必须查看给定的数组(arr)是否按升序排列。(仅给出正整数) 我创建了一个数组来比较它。然后循环输入arr,查看每个迭代是否匹配。至少这是我的目标 我们还尝试了一个计数器变量,该变量仅在每次排序[i]==arr[i]为真时向计数加一。然后,如果计数与sorted.length相同,则为true。然而,事实上这并没有起作用,这让我觉得我在某个地方犯了一个更基本的错误 function inAscOrder(arr) { let sorted = arr.sort((a, b) => a

我必须查看给定的数组(arr)是否按升序排列。(仅给出正整数)

我创建了一个数组来比较它。然后循环输入arr,查看每个迭代是否匹配。至少这是我的目标

我们还尝试了一个计数器变量,该变量仅在每次排序[i]==arr[i]为真时向计数加一。然后,如果计数与sorted.length相同,则为true。然而,事实上这并没有起作用,这让我觉得我在某个地方犯了一个更基本的错误

function inAscOrder(arr) {
  let sorted = arr.sort((a, b) => a - b);

  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === sorted[i]) {
      return true;
    } else {
      return false;
    }
  }

}
记录器功能(arr){
让sorted=arr.sort((a,b)=>a-b);
for(设i=0;i
排序
在适当的位置修改数组,所以您要比较两个相同的数组。您需要首先在阵列上使用
.slice()
来创建副本


另外,您需要将
return true
移动到函数的末尾,否则您将在第一次匹配后返回。

您不需要对数组排序来检查它是否已排序。在每个连续的元素对上循环,并检查第一个元素是否小于第二个元素;如果您找到一个不符合此条件的对,则数组不会排序

function inAscOrder(arr) {
  return JSON.stringify(arr) === JSON.stringify(arr.concat().sort()));
}
function inAscOrder(arr) {
  for (let i = 0; i < arr.length - 1; i++) {
      if (arr[i] > arr[i+1]) {
          return false;
      }
  }
  return true;
}
记录器功能(arr){
for(设i=0;iarr[i+1]){
返回false;
}
}
返回true;
}

在哪里替换/更改字符串?
排序
变异数组。因此,
arr===sorted
。而且,在索引0A
return
语句立即退出函数后,此函数将
return
返回。感谢@Pointy这是基本错误:)如果您有大量数组,此函数将更快这是优化的代码。您可以删除以前的答案。如果您希望包含,请在回答中进行编辑。请在回答中添加一些解释,以帮助其他人更好地理解。只有代码的回答被认为是不礼貌的,它可能无法帮助OP理解您试图帮助解决的问题。