JavaScript 30 Day -- 16 數組的去前綴排序

實現效果:

爲一組字符串數組,去除前綴進行排序。

關鍵點:

1.聲明去前綴函數,使用String.replace()函數實現,第一參數使用字面量正則表達式。
function delPrefix(item){
        return item.replace(/^(The|A|An)\s{1}/,'');
    }
2.使用Array.sort()對數組進行排序,將數組中逐項使用delPrefix()去掉前綴後再進行對比。
var sortedbands = bands.sort(function(a,b){
        return delPrefix(a) > delPrefix(b) ? 1 : -1;
    });
3.使用選擇器選中無序列表#bands,將排序後的數組作爲列表項插入其中。
document.getElementById('bands').innerHTML = '<li>'+arr.join('</li><li>')+'</li>';

javascript

const bands = ['The Plot in You', 'The Devil Wears Prada', 'Pierce the Veil', 'Norma Jean', 'The Bled', 'Say Anything', 'The Midway State', 'We Came as Romans', 'Counterparts', 'Oh, Sleeper', 'A Skylit Drive', 'Anywhere But Here', 'An Old Dog'];

var ul = document.querySelector("#bands");

function delPrefix(item){
  return item.replace(/^(The|A|An)\s{1}/,'');
}

var sortedbands = bands.sort(function(a,b){
  return delPrefix(a) > delPrefix(b) ? 1 : -1;
})

console.log(sortedbands);
for(var i = 0; i < bands.length; i++){
  ul.innerHTML += `
    <li>
      ${bands[i]}
    </li>  
  `;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章