【前端】sort:js按照固定顺序排序

文章目录

场景

假设想要排序:[es、pt、de、fr]。要求这几个字符串一定排在前面,其他顺序随意。

代码

使用sort。

sort(a,b)原理:数组中a与b进行比较。若返回-1,a在前。返回1,b在前。返回0,顺序不变。

若是从小到大排序,经常使用a-b:返回负数表示a更小且a排前;返回正数表示b更小且b排前,即,a-b表示小的排前

typescript 复制代码
// 我们要对它进行排序
const array = [
  { language: "en", ord: 11 },
  { language: "es", ord: 11 }
];

// 顺序
const priorityLanguages = ['es', 'pt', 'de', 'fr'];

array.sort((a, b) => {
  const aIsPriority = priorityLanguages.includes(a.language);
  const bIsPriority = priorityLanguages.includes(b.language);
  
  if (aIsPriority && bIsPriority) {
    return priorityLanguages.indexOf(a.language) - priorityLanguages.indexOf(b.language);
  }
  if (aIsPriority) return -1;
  if (bIsPriority) return 1;
  return 0;
});
相关推荐
JeffongTan5 小时前
在LWC中镶嵌VF Page获取用户IP
前端·javascript·salesforce
点心的游戏开发世界5 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
不cong明的亚子7 小时前
web live多屏互动平台
javascript·经验分享·音视频
陆枫Larry7 小时前
Astro 是什么
前端
事圆则缓7 小时前
Kotlin 协程完全指南
开发语言·kotlin
我爱写代码i7 小时前
BeLink - 支持生成多种URL 缩短网址PHP源码
开发语言·php·短网址php源码
Java后端的Ai之路7 小时前
20、Python - 备忘录模式
开发语言·人工智能·python·外观模式·备忘录模式
是立不是利8 小时前
写给设计师的 CSS 博客美学指南
前端·css
统计学小王子8 小时前
数学建模国赛倒计时4天——《统计模型精讲(混合效应模型R语言实现)》
开发语言·数学建模·r语言
知无不研8 小时前
c语言中循环的介绍与简单应用
c语言·开发语言·算法·循环·for·while