按照 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' ]

更新于: 23-11-2020

306 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告