添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

js sort object by boolean value

要按照对象中的布尔值进行排序,您可以使用JavaScript的Array.sort()方法,该方法可以接受一个可选的比较函数作为参数。

比较函数需要返回一个数字,表示比较的结果,例如:

  • 如果返回负数,则第一个参数应该排在第二个参数前面
  • 如果返回正数,则第一个参数应该排在第二个参数后面
  • 如果返回零,则两个参数的顺序不变
  • 下面是一个按照对象中布尔值进行排序的示例代码:

    const arr = [
      {name: 'Alice', isActive: true},
      {name: 'Bob', isActive: false},
      {name: 'Charlie', isActive: true},
    arr.sort((a, b) => {
      if (a.isActive === b.isActive) {
        return 0;
      return a.isActive ? -1 : 1;
    console.log(arr);
    

    在这个示例中,我们定义了一个数组,其中包含三个具有相同键名的对象,每个对象都有一个布尔值isActive。我们使用sort()方法来按照isActive值进行排序。

    我们传递给sort()方法一个比较函数,该函数首先检查a和b的isActive值是否相等。如果它们相等,则返回0,这表示它们的顺序不需要改变。

    如果它们的isActive值不相等,我们将首先按照isActive值为true的对象排在前面。如果a的isActive值为true,返回-1,表示a应该排在b的前面。如果b的isActive值为true,返回1,表示b应该排在a的前面。

    通过这种方式,我们就可以按照对象中布尔值进行排序了。

    希望这个例子对您有帮助!

  •