質問: ### 前提・実現したいこと 以下の配列があるのですが、上手く現状のソースでは上手くsort出来ないです。 1から始まるようにソートするにはどうすればよろしいでしょうか? ["10:病気", "11:誤飲", "12:関節の病気", "1:摂食嚥下障がい", "2:乳房腫大", "3:貧血以外の血液の病気", "4:低血糖症", "5:異物誤嚥", "6:てんかん(点頭てんかんなど)", "7:内分泌・ホルモンの病気", "8:消化器(お腹)の病気", "9:心臓の病気"] ### 発生している問題・エラーメッセージ ``` ソートが上手く出来ない。 ``` ### 該当のソースコード ``` data.sort(); ``` ### 試したこと 記載しているソースだと ["10:病気", "11:誤飲", "12:関節の病気", "1:摂食嚥下障がい", "2:乳房腫大", "3:貧血以外の血液の病気", "4:低血糖症", "5:異物誤嚥", "6:てんかん(点頭てんかんなど)", "7:内分泌・ホルモンの病気", "8:消化器(お腹)の病気", "9:心臓の病気"] このような順番になってしまいます。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: ``` const a=[ "10:病気", "11:誤飲", "12:関節の病気", "1:摂食嚥下障がい", "2:乳房腫大", "3:貧血以外の血液の病気", "4:低血糖症", "5:異物誤嚥", "6:てんかん(点頭てんかんなど)", "7:内分泌・ホルモンの病気", "8:消化器(お腹)の病気", "9:心臓の病気", ] ; const reg=/^[0-9]+(?=:)/; a.sort((x,y)=>x.match(reg)[0]-y.match(reg)[0]); console.log(a); ```