【发布时间】:2020-09-18 12:42:00
【问题描述】:
我已经在我的代码中尝试了 switch 和 if 语句。 Switch 看起来更好 imo。但这对我不起作用。 if 语句有效。你能看出问题吗?我觉得他们在做同样的事情。 (我正在过滤对象列表)
let sort = {};
//THE IF STATEMENT
if (query.order == 'name_asc') {
sort = {name : 1 }
}
if (query.order == 'name_desc') {
sort = { name : -1 }
}
if ( query.order == 'lowprice') {
sort = { price : 1 }
}
if ( query.order == 'oldest' ) {
sort = { year : 1 }
}
if ( query.order == 'newest' ) {
sort = { year : -1 }
}
// THE SWITCH STATEMENT
switch (query.order) {
case query.order == 'name_asc':
sort = { name : 1 }
console.log(1)
break;
case query.order == 'name_desc':
sort = { name : -1 }
console.log(2)
break;
case query.order == 'lowprice':
sort = { price : 1 }
console.log(3)
break;
case query.order == 'oldest':
sort = { year : 1 }
console.log(4)
break;
case query.order == 'newest':
sort = { price : -1 }
console.log(5)
break;
default: console.log(6)
break;
}
【问题讨论】:
-
在
case中删除query.order ==... 所以case 'name_asc'等 - 这里有一些documentation 来学习如何使用开关 -
谢谢,试过 case == 'name_asc': 首先。现在我知道如何正确使用它了:)
-
case == 'name_asc'不,那也是错的,应该和我说的一样,不是你编的 -
大声笑我知道。我只是说我试过了xD
标签: javascript if-statement switch-statement