React JS 按数量排序 > 和 < 两者 return 相同的结果
React JS Sort by quantity > and < both return the same result
这是我的代码:
const sortedDiscounts = discounts.sort((a, b) => a.quantity > b.quantity);
const amountSortedDiscounts = discounts
.map(el => el.quantity)
.concat(quantity + 0.5)
.sort((a, b) => a.quantity > b.quantity);
const amountSortedDiscounts2 = amountSortedDiscounts.sort(
(a, b) => a.quantity < b.quantity
);
const index = amountSortedDiscounts2.indexOf(quantity + 0.5) - 1;
amountSortedDiscounts 和 amountSortedDiscounts2 是相同的,即使 1 按 a.quantity > b.quantity
排序,后者按 a.quantity < b.quantity
排序
我做错了什么?
编辑:
这就是让我困惑的地方:
这两个 return 相同的顺序:
const sortedDiscounts = discounts.sort((a, b) => a.quantity > b.quantity);
const sortedDiscounts2 = discounts.sort((a, b) => a.quantity < b.quantity);
试图弄清楚为什么它们是一样的
如果您要处理数字,请改用 a.quantity - b.quantity
。
查看排序的工作原理:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
这是错误的比较。
ASC(升序):
const sortedDiscounts = discounts.sort((a, b) => a.quantity - b.quantity);
DESC(降序):
const sortedDiscounts = discounts.sort((a, b) => b.quantity - a.quantity);
这是我的代码:
const sortedDiscounts = discounts.sort((a, b) => a.quantity > b.quantity);
const amountSortedDiscounts = discounts
.map(el => el.quantity)
.concat(quantity + 0.5)
.sort((a, b) => a.quantity > b.quantity);
const amountSortedDiscounts2 = amountSortedDiscounts.sort(
(a, b) => a.quantity < b.quantity
);
const index = amountSortedDiscounts2.indexOf(quantity + 0.5) - 1;
amountSortedDiscounts 和 amountSortedDiscounts2 是相同的,即使 1 按 a.quantity > b.quantity
排序,后者按 a.quantity < b.quantity
我做错了什么?
编辑:
这就是让我困惑的地方: 这两个 return 相同的顺序:
const sortedDiscounts = discounts.sort((a, b) => a.quantity > b.quantity);
const sortedDiscounts2 = discounts.sort((a, b) => a.quantity < b.quantity);
试图弄清楚为什么它们是一样的
如果您要处理数字,请改用 a.quantity - b.quantity
。
查看排序的工作原理: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
这是错误的比较。
ASC(升序):
const sortedDiscounts = discounts.sort((a, b) => a.quantity - b.quantity);
DESC(降序):
const sortedDiscounts = discounts.sort((a, b) => b.quantity - a.quantity);