TIL)アレイを特定の要素で並べ替える


特定の要素でソート

 array.sort((a, b) => {
                        if (a === "Astring") {
                            return -1;
                        } else if (b === "Astring") {
                            return 1;
                        } else if (a === "Cstring") {
                            return -1;
                        } else if (b === "Cstring") {
                            return 1;
                        } else if (a === "Bstring") {
                            return -1;
                        } else if (b === "Bstring") {
                            return 1;
                        } else if (a=== "Fstring") {
                            return -1;
                        } else if (b=== "Fstirng) {
                            return 1;
                        } else {
                            return 0;
                        }
                    });
結果
["Astring", "Cstring, "Bstring", "Fstring"]

sort()の起動方法

  • の戻り値が0未満の場合、「最初のパラメータを優先順位付け」
  • の戻り値が0より大きい場合は、「2番目のパラメータを優先的にソート」します.
  • の戻り値が0の場合、ソートされません.
  • 上の論理では、「割当て」に対応する論理を展開できます.
  • aが「割付」である場合return-1であるため、最初のパラメータ「a」は最初のソート
  • である.
  • bが「Assing」である場合は1を返し、2番目のパラメータ「a」の1番目のソート
  • を返します.
    すなわち、a==="Astring"またはb==="Astring"の場合、それは最初にソートされる論理となり、したがって"Astring"は最初の要素としてソートされる.