📅  最后修改于: 2023-12-03 15:01:43.586000             🧑  作者: Mango
在 JavaScript 中,可以使用不同的方法对布尔值进行排序。这些方法包括使用普通的比较运算符(例如 ">"、"<"、">=" 和 "<="),以及使用 sort()
方法和自定义比较函数。
可以使用普通的比较运算符对布尔值进行排序。在 JavaScript 中,true
被视为比 false
更大的值。
const boolArr = [true, false, true, false, true];
boolArr.sort();
console.log(boolArr); // [false, false, true, true, true]
在上面的示例中,boolArr
数组中的布尔值按其值进行排序。首先,sort()
方法将数组的元素转换为字符串,然后使用 Unicode 代码点排序算法对它们进行排序。由于 true
排在 false
之后,因此 true
值在排序后出现在数组的末尾。
sort()
方法和自定义比较函数如果想要以不同的方式对布尔值进行排序,可以使用 sort()
方法和自定义比较函数。比较函数应该接收两个参数,它们代表要比较的两个元素,并返回一个负数、一个正数或零,以指示第一个参数应该排在第二个参数的前面、后面或与它们相等。下面是一个将 false
值排在 true
值之前的示例。
const boolArr = [true, false, true, false, true];
boolArr.sort((a, b) => b - a);
console.log(boolArr); // [true, true, true, false, false]
在上面的示例中,比较函数接收 a
和 b
参数,它们都是数组中的元素。由于要将 false
值排在 true
值之前,因此在 b - a
中使用 b
作为第一个参数,a
作为第二个参数。这将导致与 true
值对应的 1
减去与 false
值对应的 0
,从而得到一个正数,表示 false
值应排在 true
值之前。
JavaScript 中有多种方式可以对布尔值进行排序。可以使用普通的比较运算符,以及使用 sort()
方法和自定义比较函数。使用 sort()
方法并提供一个自定义比较函数可以让我们更加灵活地排序布尔值。