JavaScript Algoriths and Data Structures
ES6
- Arrow functions
const myFunc = () => "value"
const multiplier = (item, multi) => item * multi;
- the Spread Operator
const arr1 = [1, 2, 3];
let arr2 = [...arr1];
- the Rest Parameter
const sum = (...args) => return args.reduce((a, b) => a + b, 0);
- Destructuring Assignment
const {today, tomorrow} = HIGH_TEMPERATURES;
- Template Literals
const resultDisplayArray = arr.map(item => <li class="text-warning">${item}</li>
);
- Modules
Create a module script
<script type="module" src="index.js"></script>
- Use export to Share a Code Block
export const add = (x+y) => return x+y;
- 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