// ["apple", "peach", "straw", "spork"]

上面代码对数组 arr 按照首字母进行排序。排序结果中, straw spork 的前面,跟原始顺序一致,所以排序算法 stableSorting 是稳定排序。

const unstableSorting = (s1, s2) => {
  if (s1[0] <= s2[0]) return -1;
  return 1;
arr.sort(unstableSorting)
// ["apple", "peach", "spork", "straw"]

上面代码中,排序结果是 spork straw 前面,跟原始顺序相反,所以排序算法 unstableSorting 是不稳定的。