JavaScript Algoriths and Data Structures

ES6

  1. Arrow functions

const myFunc = () => "value"

const multiplier = (item, multi) => item * multi;

  1. the Spread Operator

const arr1 = [1, 2, 3];
let arr2 = [...arr1];

  1. the Rest Parameter

const sum = (...args) => return args.reduce((a, b) => a + b, 0);

  1. Destructuring Assignment

const {today, tomorrow} = HIGH_TEMPERATURES;

  1. Template Literals

const resultDisplayArray = arr.map(item => <li class="text-warning">${item}</li>);

  1. Modules

Create a module script

<script type="module" src="index.js"></script>

  1. Use export to Share a Code Block

export const add = (x+y) => return x+y;

  1. JavaScript Promise

8.1 Handle a Fulfilled Promise with then

8.2 Handle a Rejected Promise with catch

Regular Expressions

test()

match()

let myStr = "Regular expressions";
let myRegex = /expressions/;
let result = myStr.match(myRegex);


return ["expressions"]


regext thêm /g sẽ trả về nhiều lần nếu có: /repeat/g

let myString = "freeCodeCamp";
let regex = /freecodecamp/i;
let result = regex.test(myString);

Sử dụng /regex/gi để vừa ignore case vừa lấy ra hết đối tượng

Sử dụng ký tự đại diện:
/un./
để tìm các từ như: fun, run, sun, pun, nun

/b[aiu]g/
[aiu] chỉ lấy a, i, u


Sẽ trả về các từ như: bag, big, bug


[a-e] lấy từ a đến e trong bảng chữ cái
Tương tự với số [a-e0-9]

Ký tự phủ định
/[^aeiou]/ sẽ không lấy các nguyên âm, vẫn lấy các ký tự đặc biệt


Hoặc để lấy phần đầu /^Cal/ trong "Cal and Cal"


Lấy phần cuối sử dụng $ : /Ricky$/ trong "Cal and Ricky"

/a+/ với "aabc" sẽ trả về "aa"
với "abc" sẽ trả về "a"

/Aa*/

/\w/ tương đương với /[A-Za-z0-9_]/
Bao gồm cả _


/\w/ khác với /\W/
/\W/ tương đương với /[^A-Za-z0-9_]/


\d tương đương với [0-9]
\D tương đương với [^0-9]

Tìm khoảng trắng \s
Không phải khoảng trắng \S