Day32 - JS30 - 17 - Sort Without Articles

参考资料
Alex老师教学
pjchender笔记
JS30-Day17-Sort Without Articles


文字排序。
遇到开头是the , a , an 就忽略,改用後方内容排序。


题目预设

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',
];
bands.sort();//阵列排序

抓取节点

const text = document.getElementById('bands');//ul

先看一下画面和呈现的资料

text.innerHTML = bands.join('');

https://ithelp.ithome.com.tw/upload/images/20201019/2012153441nJnFnOin.png
加上<li>放入<ul>

text.innerHTML = bands
    .map(item => {
        return `<li>${item}</li>`;
    })
    .join('');

加上正则

// 正则
let filterItem = item => {
    // 开头是a ,the ,an,都替换成空字串
    return item.replace(/^(a |the |an )/i, '').trim();
    // trim()删除字串前後的空白
};
//阵列排序
bands.sort((a, b) => {
    return filterItem(a) > filterItem(b) ? 1 : -1;
});
// sort()是操作原阵列
// 使用新阵列的写法
let sortBands = [...bands].sort((a, b) => {
    return filterItem(a) > filterItem(b) ? 1 : -1;
});
console.log(bands === sortBands); //false

连结


<<:  Day31 - JS30 - 16 - Mouse Move Shadow

>>:  SCPM requires Internet Explorer,version 5.5 or 6.x

PHP Array Mapping

最近工作上常会需要对一个 array 做批次处理,所以整理一下 PHP 做 array mappin...

如何报考CISSP?

CISSP考上心得 CISSP简介 CISSP是一个由美国(ISC)² 所颁发的资安证照,全名是C...

Azure DNS 手把手基础教学

葛瑞部落格欢迎光顾 目的应用 Azure DNS 顾名思义就是做为名称解析的托管服务,主要用途如下:...

JavaScript Day 5. 型别辨识 typeof

偶尔程序也会碰到需要辨别变数的状态,有时候是用於防止使用者输入奇怪的文字,有时候是帮助自己确认变数的...

onnx - 用 netron 查看 onnx 模型版本参考笔记

onnx - 用 netron 查看 onnx 模型版本参考笔记 参考资料 参考资料如下: netr...