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

标签 javascript arrays compare

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

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

还尝试了一个计数器变量,它只在每次 sorted[i] == arr[i] 为真时将计数加一。然后,如果计数与 sorted.length 相同,则为真。然而,这不起作用的事实让我觉得我在某个地方犯了一个更根本的错误。

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;
    }
  }

}

最佳答案

sort 就地修改数组,因此您正在比较两个相同的数组。您需要先在数组上使用 .slice() 来创建副本。

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

关于javascript - 定义替换/更改字符串的位置时出现异常字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292484/

相关文章:

javascript - c3 chart.load 多个图表

javascript - Emscripten webworker - 自己的消息和依赖项

arrays - 如何用值初始化 Kotlin 中的数组?

php比较/区分一个数组和一个对象数组

c++ - QMultiMap以结构为键,结构为值,比较运算符

javascript - 使用父 Controller 方法调用测试 Angular

javascript - 如何更改 Angular 所需的验证器

Java多数组声明

C - 计算字符串数组中的字符数

java - 我需要一些关于排序节点的解释