javascript - 为什么 boolean 值 false 小于 boolean 值 true?

标签 javascript arrays boolean

当我想解决 JavaScript* 中的排序问题时,我发现 false Booleantrue Boolean 更差。为什么?

我尝试过以下操作:

console.log(false < true) //return true
console.log(true < false) //return false

我的问题:

const todos = [{
  text: 'running',
  completed: false
}, {
  text: 'walking',
  completed: true
}, {
  text: 'Studying',
  completed: true
}, {
  text: 'learn javascript',
  completed: false
}, {
  text: 'learn react',
  completed: true
}]

const sortTodos = function(todo) {
  todo.sort(function(a, b) {
    if (a.completed < b.completed) {
      return -1
    } else if (b.completed < a.completed) {
      return 1
    } else {
      return 0
    }
  })
}

sortTodos(todos)
console.log(todos)

最佳答案

这是因为 false 的计算结果为 0,而 true 的计算结果为 1。因为 1 > 0true > false,反之亦然。

关于javascript - 为什么 boolean 值 false 小于 boolean 值 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55322472/

相关文章:

c++ - 评估 boolean 语句的顺序是什么?

swift - 如何防止 boolean 值在 if 语句中被覆盖?

javascript - 如何制作可搜索的下拉菜单

javascript - Div 应该位于中心 onclick

c - 从文件填充二维数组

java - 读取文件时遇到问题,程序看起来不错,但不明白为什么它输出 null

arrays - 斯卡拉微风 : can you create a DenseMatrix of Int Array elements?

javascript - 如何从字符串中去除具有属性的 HTML 标签?

javascript - 如何将 JSON 字符串对象值转换为整数?

java 枚举上的 boolean 运算符