在 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 } ]