0

在 Javascript 教程中为一个非常简单的待办事项应用程序创建一个排序函数。我的答案和教程的答案不同,但产生的结果相同。我知道不同的代码可以达到相同的结果,但我只是想知道为什么?我不确定如何测试我的代码以查看它可能在哪里失败。代码如下。

代码:

const todoList = [{
    title: 'Work on JS course',
    completed: true
}, {
    title: 'School activity with Eleanor',
    completed: false
}, {
    title: 'Coach Susan',
    completed: true
}, {
    title: 'Go over Step study homework',
    completed: false
}, {
    title: 'Message car buyer',
    completed: true
}]

//my answer
const sortTodo = function (todoList) {
    todoList.sort(function (a, b) {
        if (a.completed < b.completed) {
            return -1
        } else if (b.completed < a.completed) {
            return 1
        } else {
            return 0
        }
    })
}

//video answer
const sortTodo = function (todoList) {
    todoList.sort( function (a, b) {
        if (!a.completed && b.completed) {
            return -1
        } else if (!b.completed && a.completed) {
            return 1
        } else {
            return 0
        }
    })
}

回答:(我的回答和视频回答都得到这个结果)

$ node todo.js
[ { title: 'School activity with Eleanor', completed: false },
  { title: 'Go over Step study homework', completed: false },
  { title: 'Work on JS course', completed: true },
  { title: 'Coach Susan', completed: true },
  { title: 'Message car buyer', completed: true } ]
4

0 回答 0