首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript中比较器的布尔排序

javascript中比较器的布尔排序
EN

Stack Overflow用户
提问于 2018-05-29 15:43:48
回答 1查看 905关注 0票数 0

我找到了以下布尔排序:

代码语言:javascript
运行
复制
  const sorted = things.sort((left, right) => {
    return Number(!!left.current) - Number(!!right.current);
  });

这是对布尔值排序的正确方法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-05-29 15:47:27

您可以使用值的差异,转换为布尔值。

减号运算符将两个操作数强制为number,并返回一个反映Array#sort所需顺序的数值。

undefined值为are sorted to the end,从不用于排序回调。

代码语言:javascript
运行
复制
var booleans = [0, true, 42, undefined, null, NaN, 'foo'];

booleans.sort((a, b) => Boolean(a) - Boolean(b)); // falsy values first
console.log(booleans);

booleans.sort((a, b) => Boolean(b) - Boolean(a)); // truthy values first
console.log(booleans);
代码语言:javascript
运行
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50578957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档