Я написал функцию для упорядочивания массивов по последнему символу, , но я обнаружил, что при выполнении функции есть mushrooms5
и Sauce6
. Может ли кто-нибудь помочь мне решить ошибку, потому что я не могу ее найти?Ошибка при сортировке массивов по JavaScript
Спасибо.
var Dish_name = [
"Layered_Dip2",
"Pumpkin_Deviled_Eggs1",
"Chinese_fried_egg_noodles_with_shredded_pork_mushrooms5",
"Stir_fried_Clams_with_Garlic_and_Black_Bean_Sauce6",
"Rosewater_Panna_Cotta4",
"Marshmallow_Rabbit3",
]
var Dish_show_name = [
"<b>Layered Dip</b>",
"<b>Pumpkin Deviled Eggs</b>",
"<b>Chinese Fried Egg Noodles with Shredded Pork Mushrooms</b>",
"<b>Stir fried Clams with Garlic and Black Bean Sauce</b>",
"<b>Rosewater Panna Cotta</b>",
"<b>Marshmallow Rabbit</b>",
]
var Dish_url = [
"http://3.1m.yt/BqHJBVM.jpg",
"http://4.1m.yt/2yq6CpE.png",
"http://3.1m.yt/k-owd2.jpg",
"http://4.1m.yt/zvcLufM.png",
"http://3.1m.yt/Fw9Wdcw.png",
"http://1.1m.yt/INLaIN-.jpg"
]
$("#cook").click(function() {
var i, j, temp, temp2, temp3;
for (i = 0; i < 6; i++) {
for (j = 1; j < 6; i++) {
if (Dish_name[i].slice(-1) > Dish_name[j].slice(-1)) {
temp = Dish_name[i];
temp2 = Dish_show_name[i];
temp3 = Dish_url[i];
Dish_name[i] = Dish_name[j];
Dish_show_name[i] = Dish_show_name[j];
Dish_url[i] = Dish_url[j];
Dish_name[j] = temp;
Dish_show_name[j] = temp2;
Dish_url[j] = temp3;
alert(Dish_name[i]);
alert(Dish_name[j]);
alert(Dish_name[i].slice(-1));
alert(Dish_name[j].slice(-1));
}
}
}
})
Какая ошибка? в чем проблема? – Dekel
@Dekel Правильно, что 'm' сортируется после' S', потому что это строчный. – andlrc
@Dekel Я думаю, что это третий, который будет соответствовать второму, после сортировки 1,2,5,6,4,3 .... , но я не знаю, как это исправить ... – kennytsz