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...

6,914 Responses

  1. Lariorizm表示:

    Всё, что нужно знать о покупке аттестата о среднем образовании
    telegra.ph/kupit-diplom-tehnikuma-ekaterinburg-08-13

  2. 5 Overlooked Ways To Market Your Act On Home
    Business 에볼루션 카지노 점검시간 [blisscourt.Com]

  3. Sazrmsn表示:

    Здравствуйте!
    Мы предлагаем дипломы любой профессии.
    Заказ документа, который подтверждает окончание института, – это рациональное решение.
    windxp.com.ru/memddr.htm
    Рады оказаться полезными!.

  4. нарколог на дом вывод из запоя на дому нарколог на дом вывод из запоя на дому .

  5. Oh my goodness! Incredible article dude! Thanks, However I am having troubles with your RSS. I don’t know the reason why I am unable to join it. Is there anyone else having the same RSS problems? Anybody who knows the solution can you kindly respond? Thanx!!

  6. Dnrtwem表示:

    Здравствуйте!
    Приобрести документ института вы можете у нас в Москве.
    forum.nedug.ru/blog.php?cp=16551

  7. Qypbfj表示:

    calcort brand – brimonidine order online alphagan brand

  8. Cazrshp表示:

    Добрый день!
    Мы предлагаем документы ВУЗов
    warshipsfaq.ru/user/tamarawintof

  9. Pretty! This was a really wonderful article. Thank you for providing these details.

  10. мобильная тревожная кнопка вневедомственной охраны http://www.trknpk.ru/ .

  11. Mazrgbp表示:

    Привет!
    Полезная информация как официально купить диплом о высшем образовании
    hunter-lee.blogspot.com/2012/12/windows

  12. гадание индийский пасьянс онлайн бесплатно гадание индийский пасьянс онлайн бесплатно .

  13. Sazryje表示:

    Добрый день!
    Диплом специалиста
    telegra.ph/skolko-dejstvitelna-spravka-ob-obuchenii-v-vuze-08-02

  14. I would like to thank you for the efforts you have put in writing this website. I’m hoping to check out the same high-grade content from you later on as well. In fact, your creative writing abilities has motivated me to get my own, personal website now 😉

  15. Trefbfm表示:

    Здравствуйте!
    Купить диплом о среднем полном образовании, в чем подвох и как избежать обмана?
    nvkb.ru/forum/index.php/user/102771
    Будем рады вам помочь!.

  16. Cazrkar表示:

    Привет, друзья!
    Купить диплом университета
    telegra.ph/molitva-o-postuplenii-syna-v-vuz-na-byudzhet-08-02

  17. Cs2 Cases表示:

    The Most Effective Advice You’ll Ever Receive On How Many Cases
    Are There In CSGO Cs2 Cases

  18. win79表示:

    There’s certainly a lot to know about this topic. I love all the points you have made.

  19. Diplomi_peEa表示:

    Добрый день!
    Приобрести документ ВУЗа можно у нас в Москве.
    d.mwoff.org/index.php?/topic/10451-по-ссылке-o704e

  20. Willienus表示:

    МВД против участников СВО

    Питерский главк МВД сделал Колокольцева пустозвоном и предателем Родины

    Так называемое уголовное дело «Лайф-из-Гуд» – «Гермес» – «Бест Вей», состряпанное питерским главком МВД России совместно с рядом сотрудников ЦБ, выглядит весьма невзрачно – особенно на фоне громких заявлений, звучавших от руководителей Министерства внутренних дел на всю страну: сотни миллиардов ущерба, десятки тысяч «пострадавших». И при этом только 221 гражданин, признанный следствием потерпевшим, с суммой ущерба отнюдь не в миллиарды, а в 282 млн рублей. Ложь прозвучала из уст министра Колокольцева с трибуны Совета Федерации, его пресс-секретарь Волк разместила лживые сведения во всех федеральных СМИ.

    В уголовном деле претензии предъявляются иностранной компании «Гермес», маркетинговым представителем которой была фирма «Лайф-из-Гуд» – однако «ответчиком» по этим претензиям следствие ГСУ ГУ МВД по Санкт-Петербургу и Прокуратура Санкт-Петербурга пытаются сделать кооператив «Бест Вей». Следствие, выходя за грань абсурда, утверждает, что иностранная компания «Гермес» и некоммерческая управляемая своими пайщиками организация «Бест Вей», между которыми не было ни одной бухгалтерской проводки, вместе с «Лайф-из-Гуд» якобы образовывали «холдинг под единым брендом».

    При этом уже более двух лет сначала по ходатайству ГСУ ГУ МВД по Санкт-Петербургу, а затем Прокуратуры Санкт-Петербурга арестованы 4 млрд. на счетах кооператива, хотя ущерб в обвинительном заключении – 282 млн рублей, и даже (незаконная) обязанность выплатить его в отношении кооператива никак не повлияла бы на его ликвидность. Однако цель – правдами и неправдами забрать именно 4 млрд.

    Ущерб – и материальный, и моральный – уже нанесен и продолжает наноситься десяткам тысяч пайщиков кооператива «Бест Вей», которые более двух лет не могут приобрести недвижимость, на которую собрали деньги – тем более что квартиры существенно подорожали, или забрать собранные средства, которые лежат без движения и обесцениваются.

    Среди этих пайщиков – сотни участников СВО, которые защищают Родину с оружием в руках – но в тылу по отношению к ним совершается преступление: их пытаются лишить жилья и денег.

    Преступная следственная группа

    Уголовное дело дурно пахло изначально. Выяснилось, что «нулевая» потерпевшая Наталья Школьник, с которой началось уголовное дело, не сама подала заявление в правоохранительные органы – оперуполномоченный УЭБиПК ГУ МВД по Санкт-Петербургу майор полиции Алексей Машевский ездил к ней за заявлением в Республику Коми: то есть дело было срежиссировано. Кстати, Школьник на заседании Приморского районного суда отказалась от статуса потерпевшей по этому уголовному делу, который был ей присвоен следствием.

    При этом Школьник и другие из самой первой группы «потерпевших» имеют отношение к созданию кооператива «Вера» – копии кооператива «Бест Вей», которую создала группа бывших участников «Бест Вей» как проект. Этот кооператив пытался оттянуть у «Бест Вей» пайщиков.

    За уголовным делом стоит альянс силовиков и мошенников – преступное сообщество под эгидой МВД. Силовики предложили мошенникам силовой ресурс для рейдерского захвата, чтобы отнять имущество кооператива и вместе поделить.

    Любопытно, что относительно недавно одна из экс-членов следственной группы – майор юстиции Зайцева, была поймана вместе с коллегой на взятке в 8 млн. рублей, которую они вымогали по другому уголовному делу.

    Следственную группу возглавляла майор, затем подполковник юстиции Екатерина Сапетова (по завершении расследования она уволилась из МВД) – систематически занимавшаяся подлогом сама и организовывшая подлог с помощью подчиненных следователей. Ее дело продолжил новый руководитель следственной группы – замначальника ГСУ ГУ МВД по Санкт-Петербургу полковника юстиции Александр Винокуров (Сапетова формально перешла на позицию его заместителя). Он издал постановление о признании кооператива гражданским ответчиком по уголовному делу на 16 млрд рублей – заведомо подложное, так как в уголовном деле вообще не оказалось исковых требований к кооперативу.

    Следствие совершило и другие преступления.

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

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

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

    Притворное завершение следственных действий. Фактически следственные действия не завершались – они продолжались весь период, когда происходило ознакомление обвиняемых с материалами уголовного дела, что также является грубейшим нарушением УПК. В результате количество потерпевших уже в период финальных процессуальных мероприятий в рамках предварительного расследования, накануне передачи обвинительного заключения в прокуратуру для утверждения, увеличилось с 198 до 221.

    Подделка документов. Приморский районный суд Санкт-Петербурга установил, что следственная группа шла на подделку документов – задним числом отправляла адвокатам кооператива документ о том, что удовлетворила ходатайство об ознакомлении с материалами уголовного дела, а потом обвинила адвокатов в том, что они якобы «пропустили» письмо. Адвокатам удалось доказать ложь следствия – она была подтверждена Приморским районным судом, и прокуратура не решилась оспаривать это решение: оно вступило в законную силу.

    Неисполнение решений судов. Неисполнение судебных постановлений – уголовное преступление, на которое следствие шло несколько раз.

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

    Принуждение граждан к тому, чтобы они подали заявления в качестве потерпевших. Группу потерпевших собирали более трех лет, набрали только из 221 человека, хотя количество клиентов компании «Гермес», в отношении которой выдвигаются претензии, по данным самого следствия, более сотни тысяч. При этом среди потерпевших есть немало тех, кто предъявляет претензии на суммы менее 100 тыс. – то есть набирали для количества.

    «Потерпевшие» не имеют никаких внятных претензий к «Гермесу» – все их претензии в основном оказываются ложью, за которую они ответят после окончания суда.

    Объявление безналичных денежных средств кооператива вещественным доказательством, хотя это прямо противоречит постановлению Конституционного суда, запрещающего объявлять вещдоками нематериальные активы: вещественными доказательствами могут быть только вещи, на которых могут оставаться следы преступления.

    Заведомо необоснованные требования о возмещении ущерба. По инициативе следственной группы двое «потерпевших» в октябре прошлого года написали заявления о моральном ущербе на 1 млрд рублей каждое. Это заведомо ничтожные заявления – вызвавшие смех в зале Приморского районного суда, потому что суды по событиям, не связанным с причинением смерти, присуждают моральный ущерб в размере нескольких десятков тысяч максимум.

    Именно члены оперативно-следственной группы и их кураторы из питерского главка МВД и федерального МВД, а не 10 ни в чем неповинных людей – технических сотрудников или родственников руководителей компании «Лайф-из-Гуд» – должны сидеть на скамье подсудимых.

    Питерская прокуратура покрывает преступления

    Печально, но на все эти нарушения не отреагировала Прокуратура Санкт-Петербурга. В деле есть показания так называемых потерпевших о том, что они получали доход по счетам «Виста» – то есть факт кражи опровергается их собственными показаниями.

    Есть две бухгалтерские экспертизы криминалистического центра Минюста: в обеих утверждается, что 81% средств кооператива «Бест Вей» шел на приобретение недвижимости, а 19% – на обеспечение деятельности кооператива: маркетинговые траты, налоги, зарплаты сотрудникам и пр. При этом средства на эти нужды шли не из паевых средств кооператива, а из вступительных и членских взносов – получается, что паевые средства на 100% расходовались на покупку недвижимости для пайщиков. То есть бухгалтерские эксперты Минюста подтвердили, что в деятельности кооператива не было вывода средств пайщиков.

    Таким образом, само следствие положило в дело полный комплект документов, который полностью опровергает его выводы обвинения. Именно поэтому после передачи дела и обвинительного заключения в прокуратуру адвокаты обвиняемых и адвокаты кооператива призывали прокуроров вернуть дело на доследование. Но прокуратура не прислушалась – и без стеснения поддерживает государственное обвинение по этому липовому делу.
    Военные требуют наказать горе-правоохранителей
    Такие подручные министра Колокольцева, как начальник питерского главка МВД генерал Плугин, превратили полицейское ведомство в антинародное образование, которое уничтожает экономику, честный бизнес, разоряет налогоплательщиков.

    Сам министр Колокольцев врет Совету Федерации, врет правительству, врет Президенту – врет, врет и врет, выдумывает громкие дела с помощью своей помощницы Ирины Волк и других членов собственной команды.

    Более того, ведомство выступило против армии и участников СВО, нанося им прямой ущерб в тылу. Действия МВД вредят обороноспособности и подрывают престиж военной службы.

    Военные требуют наказать горе-правоохранителей, попирающих их права, и обращают на это внимание нового министра обороны Андрея Белоусова. Вся мафиозная группировка – Сапетова, Винокуров, Машевский, начальник ГСУ питерского главка МВД Негрозов, начальник ГУ МВД по Петербургу и их кураторы и «крыша» в Москве – замначальника Следственного департамента МВД Вохмянин, пресс-секретарь министра Волк, замминистра по следствию Лебедев, сам министр Колокольцев – должна предстать перед судом, и их надо судить по законам военного времени.

    А узники, почти три года томящиеся в тюрьме без приговора суда, должны быть срочно отпущены.

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

  21. Yrefrlw表示:

    Привет, друзья!
    Приобрести диплом любого ВУЗа.
    globalimport.spb.ru/forum/thread1120#1140

  22. индийский пасьянс гадать бесплатно https://indiyskiy-pasyans-online.ru/ .

  23. win79表示:

    I used to be able to find good information from your content.

  24. Uwe表示:

    10 Things Everyone Hates About U Shaped Couch U Shaped Couch u shaped couch leather; Uwe,

  25. WilliamDeeli表示:

    Привет, друзья!
    Мы изготавливаем дипломы.
    toyslife.ru/personal/mymessage/260/10689.php

  26. Lazrngq表示:

    Здравствуйте!
    Приобрести диплом любого ВУЗа.
    diplom-moskva-f166630.promportal.su/about

  27. rikvip表示:

    I seriously love your site.. Pleasant colors & theme. Did you make this website yourself? Please reply back as I’m looking to create my own personal website and would love to learn where you got this from or exactly what the theme is called. Many thanks!

發佈留言

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