我们需要编写一个包含数字数组的JavaScript函数。该函数应根据以下条件对数字数组进行排序-
---如果数组包含任何零,则它们应全部出现在开头。
---其余所有数字应按降序排列。
例如-
如果输入数组是-
const arr = [4, 7, 0 ,3, 5, 1, 0];
然后在应用排序之后,数组应变为-
const output = [0, 0, 7, 5, 4, 3, 1];
我们将在这里使用Array.prototype.sort()方法。
对于降序排序,我们将采用排序函数第二个参数与第一个参数的差。并且,如果任何值是伪造的(零),那么我们将使用Number.MAX_VALUE代替该值。
const arr = [4, 7, 0 ,3, 5, 1, 0]; const specialSort = (arr = []) => { const sorter = (a, b) => { return (b || Number.MAX_VALUE) - (a || Number.MAX_VALUE); }; arr.sort(sorter); }; specialSort(arr); console.log(arr);
输出结果
这将产生以下输出-
[ 0, 0, 7, 5, 4, 3, 1 ]