ทำบันทึกเป็นหลักเพื่อจัดการกับตัวเลข หากอักขระก่อนหน้าของตัวเลขเหมือนกันตัวเลขจะถูกเปรียบเทียบกับค่าแทนที่จะเปรียบเทียบระหว่างอักขระแต่ละตัว
ฟังก์ชั่น sortlikewin (v1, v2) {var a = v1.name; var b = v2.name; var reg = /[0-9]+ /g; var lista = a.match (reg); var listb = b.match (reg); if (! lista ||! listb.length); i <minlen; lista [i]; var strb = listb [i]; // ค่าของตัวเลข var numa = parseint (stra); var numb = parseint (strb); // ถ้าหมายเลขลำดับของตัวเลขไม่เท่ากันหรือคำนำหน้าไม่เท่ากัน A.localEcompare (b);} else {// สตริงสอดคล้องกันของหมายเลข (stra) === strb) {// ถ้าเป็นหมายเลขสุดท้ายให้เปรียบเทียบคำต่อท้ายของตัวเลขถ้า (i == minlen - 1) {return a.substring (indexa) .localeCompare ส่วนหนึ่งก่อนอื่น {a = a.substring (indexa + stra.length); b = b.substring (indexa + stra.length);}} // ถ้าสตริงของหมายเลขไม่สมบูรณ์ แต่ค่าเท่ากับถ้า (numa == numb) {// ลงทะเบียนจำนวนคำนำหน้า 0 '');} else {// ถ้าตัวเลขไม่เท่ากันให้เปรียบเทียบขนาดของตัวเลขส่งคืน numa - numb;}}}}} โดยตรงโดยตรงวิธีใช้ Array.sort (sortlikewin);
ข้างต้นคือผลของการเรียงลำดับตามชื่อของการเลียนแบบไฟล์ Windows ตาม JS ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!