JS 依照元素出現數量排序
同樣是最近遇到的狀況,需要利用陣列內元素出現的數量進行排序,以下為範例程式:
var array = ["1", "2", "4", "5", "2", "4", "2", "3"]; var str = array.toString(); var filter = []; var result = []; document.write("原始陣列:" + array + "<br>"); var get = function (str, tar, arr, tmp) { if (str.indexOf(tar) >= 0) { tmp = str.slice(str.indexOf(tar) + 1); arr.push(tar); get(tmp, tar, arr, tmp); } return arr; } for (i in array) { var elm = []; var tmp; var fstr = filter.join(); if (fstr.indexOf(array[i]) >= 0) { continue; } else { var tmp_arr = get(str, array[i], elm, tmp); result.push(tmp_arr.length + ':' + tmp_arr[0]); filter.push(array[i]); } } result.sort(); result.reverse(); //按照出現次數排序,不刪除重複元素 var finishArray = []; for (index in result) { var show = result[index].split(':'); for (i = 0; i < show[0]; i++) { finishArray.push(show[1]); } } document.write("按出現次數排序,不刪除重複元素:" + finishArray + "<br>"); //按照出現次數排序,刪除重複元素 var finishArray = []; for (index in result) { var show = result[index].split(':'); finishArray.push(show[1]); } document.write("按出現次數排序,刪除重複元素:" + finishArray + "<br>");
輸出結果:
原始陣列:1,2,4,5,2,4,2,3 按出現次數排序,不刪除重複元素:2,2,2,4,4,5,3,1 按出現次數排序,刪除重複元素:2,4,5,3,1
Guide To 18 Wheeler Accident Attorneys: The Intermediate
Guide Towards 18 Wheeler Accident Attorneys 18 wheeler
order viagra: Viagra generic over the counter – Generic Viagra for sale
Kamagra tablets: kamagra pills – super kamagra
Levitra online pharmacy: Buy generic Levitra online – Cheap Levitra online
https://cialist.pro/# Buy Cialis online
What a information of un-ambiguity and preserveness of valuable familiarity about unexpected emotions.
Игральный машина Juicy Fruits Multihold:
свежеиспечённый степень азарта Juicy Fruits Multihold привлекает внимание своей
механикой Multihold, которая позволяет
фиксировать выигрышные комбинации и повышать
шансы на получение крупных призов.
Кроме того, здесь представлена яркая и красочная графика, создающая атмосферу настоящего казино.
Juicy Fruits Multihold привлекает внимание своей механикой Multihold, которая позволяет фиксировать выигрышные комбинации и увеличивать
шансы на получение крупных призов.
Кроме того, здесь представлена яркая и красочная графика, создающая атмосферу настоящего
казино. Juicy Fruits Multihold предлагает игрокам возможность испить новоиспечённый
уровень азарта и выигрышей.
Сочные фрукты на барабанах приносят не лишь удовольствие от игры, но
и шанс на выигрыш крупных денежных
призов. Для доступа к игровому автомату
Juicy Fruits Multihold вы можете скачать его на свое устройство.
Теперь у вас снедать вероятность кайфовать азартом и выигрышами в любое время, даже без доступа к интернету.
over the counter sildenafil: Viagra tablet online – sildenafil online
https://kamagra.win/# Kamagra 100mg price
https://cialist.pro/# Cheap Cialis
15 Top Volvo V50 Key Bloggers You Must Follow Volvo replacement key cost
15 Amazing Facts About Double Glazed Window Repair That You Didn’t Know Window Repairs Near Me
Kamagra tablets sildenafil oral jelly 100mg kamagra buy Kamagra
Buy Tadalafil 20mg: cialist.pro – Tadalafil price
Generic Levitra 20mg: Buy Vardenafil 20mg – Cheap Levitra online
http://levitrav.store/# Levitra online USA fast