JS 陣列排序範例

馬老師離開待了約十幾年的教學界,目前在外商科技公司擔任Senior Consultant的工作,原因當然很多,未來有空再慢慢發文章分享,剛好最近有點時間,怕以後忘記,把最近專案中用到的一些程式筆記下來,如果大家有需要,也可以參考使用,這一篇是關於Javascript陣列排序的部分。

通常若有較多的內容需要儲存,變數就沒有陣列來的好用,所以陣列是拿來儲存大量的資料時所使用的,且儲存在裡面的資料,還可以選擇經過排序之後再呈現至畫面上,例如:

var name = ["stanley", "jack", "anita" , "mary"];

name.sort() //依照字母排序
console.log(name); // 輸出 ["anita", "jack", "mary", "stanley"]

names.reverse() //反轉陣列內容
console.log(name); //輸出 ["stanley", "mary", "jack", "anita"]

但若我們同時有多個陣列,但希望以其中之一的內容排序時,也可以同步更新到另外一個陣列,該如何處理呢?可以參考以下的方式:

var name = ["stanley", "jack", "anita" , "mary"];
var gender = ["male" , "male" , "female" , "female"];
var score = [30, 10, 40 , 80];
var ID = ["S1" , "S2" , "S3" , "S4"];

console.log("name : " + name + "; score : " + score + "; gender : " + gender + "; ID : " + ID);
/*
排序前
name : stanley,jack,anita,mary;
score : 30,10,40,80;
gender : male,male,female,female;
ID : S1,S2,S3,S4;
*/

var list = [];
for (var i = 0; i < name.length; i++){
  list.push({
    'name': name[i],
    'score': score[i],
    'gender': gender[i],
    'ID': ID[i]
  });
}

list.sort(function(a, b) {
  return ((a.name < b.name) ? -1 : ((a.name == b.name) ? 0 : 1));
});

for (var i = 0; i < list.length; i++) {
  name[i] = list[i].name;
  score[i] = list[i].score;
  gender[i] = list[i].gender;
  ID[i] = list[i].ID;
}

console.log("name : " + name + "; score : " + score + "; gender : " + gender + "; ID : " + ID);
/*
排序後
name : anita,jack,mary,stanley;
score : 40,10,80,30;
gender : female,male,female,male;
ID : S3,S2,S4,S1;
*/

若是希望按照分數排序,則可以將sort function 修改為下:

//score 由小到大
list.sort(function(a, b) {
  return a.score - b.score
});

//score 由大到小
list.sort(function(a, b) {
  return b.score - a.score
});

補充:

上述的排序內容均以英文和數字為主,若是遇到中文可使用localeCompare進行,而排序的方式是漢語拼音順序,以下為範例:

var arr = ["二","五","四","一","三"];
//漢語拼音:一[yi], 二[er], 三[san], 四[si], 五[wu]
console.log("排序前:" + arr); // 排序前:二,五,四,一,三
arr.sort(function(a,b){
	return a.localeCompare(b, 'zh'); //排序後:二,三,四,五,一
});
console.log("排序後:" + arr); 

var arr = ["中文","英語","法國話", "京片子", "中國"];
//中文[zhong wen], 英語[ying yu], 法國話[fa guo hua], 京片子[jing pian zi], 中國[zhong guo]
console.log("排序前:" + arr); //排序前:中文,英語,法國話,京片子,中國
arr.sort(function(a,b){
	return a.localeCompare(b, 'zh');
});
console.log("排序後:" + arr); //排序後:法國話,京片子,英語,中國,中文


var arr = ["中文","英语","法国话", "京片子", "中国"];
console.log("排序前:" + arr); //排序前:中文,英语,法国话,京片子,中国
arr.sort(function(a,b){
	return a.localeCompare(b, 'zh');
});
console.log("排序後:" + arr); //排序後:法国话,京片子,英语,中国,中文

You may also like...

19,606 Responses

  1. bancos europa表示:

    O BPI é o banco central dos países da PT que utilizam o euro. O nosso principal objetivo é a manutenção da estabilidade de preços. Para o efeito
    bpi net empresas

  2. You can explore new markets and even make modifications in the way in which you presently trade.

  3. Кэт казино промокод: CAT555 — бонус 375% на 3 депозита и 150 фриспинов при регистрации. Cat Casino — это популярная онлайн-платформа, которая радует своих пользователей щедрыми бонусами, акциями и уникальными промокодами. Если вы ищете способ увеличить свой игровой бюджет или просто хотите получить дополнительные преимущества, то промокоды Cat Casino — это то, что вам нужно. В этой статье мы подробно расскажем о всех доступных бонусах, акциях и особенностях использования промокодов в Cat Casino.

    Что такое Cat Casino Промокод?

    Промокод Cat Casino — это специальный код, который позволяет игрокам получать дополнительные бонусы. Это может быть бесплатная ставка, дополнительные фриспины, увеличение депозита или даже кэшбэк. Промокоды часто распространяются через партнерские сайты, рассылки или социальные сети казино.

    Как Использовать Промокод в Cat Casino?

    Cat casino промокод: CAT555 (код нужно вводить только при регистрации) Сегодня, новым игрокам в Cat casino за промокод будет начислен бонус в виде 100 фриспинов без депа и повышенный бонус на первый счёт до 27 000 рублей.

    Использовать промокод Cat Casino очень просто:

    Зарегистрируйтесь на официальном сайте Cat Casino.

    Перейдите в раздел «Акции» или «Бонусы».

    Введите промокод в специальное поле.

    Активируйте код и получите свой бонус.

    Важно помнить, что у каждого промокода есть свои условия использования. Например, минимальная сумма депозита или необходимость отыгрыша бонуса.

    Основные Бонусы и Акции Cat Casino

    Промокод казино Кэт: CAT555 — бонус за регистрацию 100% и 200 FS, а также 375% и 150 фриспинов. Cat Casino славится своими щедрыми акциями, которые доступны как новичкам, так и постоянным игрокам. Рассмотрим самые популярные из них:

    1. Приветственный Бонус
    Новые игроки могут получить приветственный бонус, который включает в себя дополнительные средства к первому депозиту и фриспины. Например, при пополнении счета на 1000 рублей вы можете получить 100% бонус и 50 фриспинов.

    2. Еженедельные Акции
    Cat Casino регулярно проводит акции, такие как «Кэшбэк за проигрыши» или «Двойной депозит». Участвуя в этих акциях, вы можете вернуть часть потерянных средств или увеличить свой игровой бюджет.

    3. Промокоды на Фриспины
    Фриспины — это бесплатные вращения на слотах, которые можно использовать для выигрыша реальных денег. Промокоды на фриспины часто разыгрываются в социальных сетях казино или выдаются за активность на сайте.

    4. VIP-Программа
    Для постоянных игроков Cat Casino предлагает VIP-программу, которая включает в себя персональные бонусы, повышенный кэшбэк и эксклюзивные промокоды.

    Как Получить Промокод Cat Casino?

    Промокоды Cat Casino можно получить несколькими способами:

    Подписаться на рассылку новостей казино.

    Следить за акциями в социальных сетях Cat Casino.

    Участвовать в турнирах и лотереях на сайте.

    Использовать партнерские сайты, которые сотрудничают с казино.

    Преимущества Использования Промокодов

    Использование промокодов в Cat Casino имеет множество преимуществ:

    Увеличение игрового бюджета.

    Возможность попробовать новые игры без риска.

    Дополнительные шансы на выигрыш.

    Участие в эксклюзивных акциях.

    Советы по Использованию Промокодов

    Чтобы максимально эффективно использовать промокоды Cat Casino, следуйте этим советам:

    Всегда проверяйте условия отыгрыша бонуса.

    Используйте промокоды только на те игры, которые вам нравятся.

    Следите за сроками действия промокодов.

    Не забывайте про VIP-программу, которая может увеличить ваши бонусы.

    Cat Casino — это отличная платформа для любителей азартных игр, которая предлагает множество бонусов и акций. Промокоды Cat Casino позволяют увеличить свои шансы на выигрыш и получить дополнительные преимущества. Следите за акциями, используйте промокоды и наслаждайтесь игрой в Cat Casino!

    Если вы ищете надежное казино с щедрыми бонусами, то Cat Casino — это именно то, что вам нужно. Не упустите возможность получить дополнительные фриспины, кэшбэк и другие приятные бонусы с помощью промокодов Cat Casino.

    [url=https://forum.b4-b.com/viewtopic.php?t=258382]промокод на фриспины в кэт казино[/url]

  4. Larryenern表示:

    Промокод Фонбет – это кодовые слова, например: MAX777, ввод которых при регистрации в БК Фонбет или в личном кабинете позволяет получить фрибеты, страховки ставок и другие специальные бонусы. Промокодом в беттинге называется комбинация букв и цифр, при вводе которых активируется бонус. Новым клиентам Фонбет предлагает приветственные фрибеты на сумму от 100 до 15 000 рублей.

    [url=https://biowc.by/files/pags/?promokod_fonbet_na_segodnya_bonus_do_15_000_rubley.html]промокод на фонбет на сегодня действующий[/url]

  5. Кэт казино промокод: CAT555 — бонус 375% на 3 депозита и 150 фриспинов при регистрации. Cat Casino — это популярная онлайн-платформа, которая радует своих пользователей щедрыми бонусами, акциями и уникальными промокодами. Если вы ищете способ увеличить свой игровой бюджет или просто хотите получить дополнительные преимущества, то промокоды Cat Casino — это то, что вам нужно. В этой статье мы подробно расскажем о всех доступных бонусах, акциях и особенностях использования промокодов в Cat Casino.

    Что такое Cat Casino Промокод?

    Промокод Cat Casino — это специальный код, который позволяет игрокам получать дополнительные бонусы. Это может быть бесплатная ставка, дополнительные фриспины, увеличение депозита или даже кэшбэк. Промокоды часто распространяются через партнерские сайты, рассылки или социальные сети казино.

    Как Использовать Промокод в Cat Casino?

    Cat casino промокод: CAT555 (код нужно вводить только при регистрации) Сегодня, новым игрокам в Cat casino за промокод будет начислен бонус в виде 100 фриспинов без депа и повышенный бонус на первый счёт до 27 000 рублей.

    Использовать промокод Cat Casino очень просто:

    Зарегистрируйтесь на официальном сайте Cat Casino.

    Перейдите в раздел «Акции» или «Бонусы».

    Введите промокод в специальное поле.

    Активируйте код и получите свой бонус.

    Важно помнить, что у каждого промокода есть свои условия использования. Например, минимальная сумма депозита или необходимость отыгрыша бонуса.

    Основные Бонусы и Акции Cat Casino

    Промокод казино Кэт: CAT555 — бонус за регистрацию 100% и 200 FS, а также 375% и 150 фриспинов. Cat Casino славится своими щедрыми акциями, которые доступны как новичкам, так и постоянным игрокам. Рассмотрим самые популярные из них:

    1. Приветственный Бонус
    Новые игроки могут получить приветственный бонус, который включает в себя дополнительные средства к первому депозиту и фриспины. Например, при пополнении счета на 1000 рублей вы можете получить 100% бонус и 50 фриспинов.

    2. Еженедельные Акции
    Cat Casino регулярно проводит акции, такие как «Кэшбэк за проигрыши» или «Двойной депозит». Участвуя в этих акциях, вы можете вернуть часть потерянных средств или увеличить свой игровой бюджет.

    3. Промокоды на Фриспины
    Фриспины — это бесплатные вращения на слотах, которые можно использовать для выигрыша реальных денег. Промокоды на фриспины часто разыгрываются в социальных сетях казино или выдаются за активность на сайте.

    4. VIP-Программа
    Для постоянных игроков Cat Casino предлагает VIP-программу, которая включает в себя персональные бонусы, повышенный кэшбэк и эксклюзивные промокоды.

    Как Получить Промокод Cat Casino?

    Промокоды Cat Casino можно получить несколькими способами:

    Подписаться на рассылку новостей казино.

    Следить за акциями в социальных сетях Cat Casino.

    Участвовать в турнирах и лотереях на сайте.

    Использовать партнерские сайты, которые сотрудничают с казино.

    Преимущества Использования Промокодов

    Использование промокодов в Cat Casino имеет множество преимуществ:

    Увеличение игрового бюджета.

    Возможность попробовать новые игры без риска.

    Дополнительные шансы на выигрыш.

    Участие в эксклюзивных акциях.

    Советы по Использованию Промокодов

    Чтобы максимально эффективно использовать промокоды Cat Casino, следуйте этим советам:

    Всегда проверяйте условия отыгрыша бонуса.

    Используйте промокоды только на те игры, которые вам нравятся.

    Следите за сроками действия промокодов.

    Не забывайте про VIP-программу, которая может увеличить ваши бонусы.

    Cat Casino — это отличная платформа для любителей азартных игр, которая предлагает множество бонусов и акций. Промокоды Cat Casino позволяют увеличить свои шансы на выигрыш и получить дополнительные преимущества. Следите за акциями, используйте промокоды и наслаждайтесь игрой в Cat Casino!

    Если вы ищете надежное казино с щедрыми бонусами, то Cat Casino — это именно то, что вам нужно. Не упустите возможность получить дополнительные фриспины, кэшбэк и другие приятные бонусы с помощью промокодов Cat Casino.

    [url=https://taksafonchik.borda.ru/?1-3-0-00018331-000-0-0-1742631627]cat casino промокод без депозита[/url]

  6. RobertGlolf表示:

    [url=https://kov-obr.ru/images/pages/?bk_pari_promokod_na_fribet_bonus_do_25000_rubley.html]пари бонусы промокод[/url]

  7. Gaylordstawn表示:

    Фонбет промокод: MAX777, используйте его при регистрации аккаунта. Новые пользователи могут активировать бонус и получить бездепозитный фрибет до 15 000 рублей. Воспользоваться бесплатно промокодами «Фонбет» для получения подарочной ставки или другого бонуса можно во время создания аккаунта на официальном сайте букмекерской конторы, а также после активации личного кабинета. Действующие промокоды могут давать зачисление кэшбэка на депозит, бесплатное пари и т.п.

    промокод на бонусы фонбет на сегодня

  8. Excellent article. I absolutely appreciate this site. Keep writing!

  9. Curtismence表示:

    https://k8viet.guru/# k8 th? dam

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。