按照 JavaScript 中的默认值对数组进行排序并放置一个特定的元素
我们需要编写一个 JavaScript 函数,它以第一个参数接受一个字面值数组,并以第二个参数接受一个字符串。
我们的函数应该按照字母顺序对数组进行排序,但是不论该元素文本内容如何,它都会将作为第二个参数提供的字符串(如果数组中存在该字符串)保留为第一个元素。
示例
该函数的代码如下 -
const arr = ["Apple", "Orange", "Grapes", "Pineapple", "None", "Dates"]; const sortKeepingConstants = (arr = [], text = '') => { const sorter = (a, b) => { return (b === text) - (a === text) || a.localeCompare(b); } arr.sort(sorter); }; sortKeepingConstants(arr, 'None'); console.log(arr);
输出
控制台中的代码如下 -
[ 'None', 'Apple', 'Dates', 'Grapes', 'Orange', 'Pineapple' ]
广告