Người dịch : Vũ Việt Cường
Lớp : Web Front-end 25
Bài viết gốc : https://dev.to/jtfinley/interesting-javascript-tips-5b84

Mẹo JavaScript thú vị

Có rất nhiều thủ thuật thú vị mà bạn có thể thực hiện với JavaScript và thật thú vị khi biết còn bao nhiêu thứ nữa để học. Tôi sẽ điểm qua một số điều thú vị mà bạn có thể làm trong JavaScript và hy vọng sẽ dạy cho bạn điều gì đó mới mẻ!

Lọc Giá Trị Duy Nhất Từ Mảng

Với sự ra đời của ES6, chúng ta có thể sử dụng new Set object và spread operator để tạo một mảng mới với các giá trị duy nhất.

const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // Result: [1, 2, 3, 5]

Toán Tử Bậc Ba

Toán tử bậc ba là một cách viết nhanh để viết các câu lệnh điều kiện nhanh chóng.

function getFee(isMember) {
  return (isMember ? '$2.00' : '$10.00');
}

console.log(getFee(true));
// expected output: "$2.00"

console.log(getFee(false));
// expected output: "$10.00"

console.log(getFee(null));
// expected output: "$10.00"

Trong ví dụ này, isMember là điều kiện. Nếu điều kiện là đúng, bất kỳ biểu thức nào sau dấu “?” sẽ được trả lại. Nếu điều kiện sai, biểu thức sau dấu “:” sẽ được trả về.

Chuyển Đổi Sang Chuỗi

Để chuyển một số thành chuỗi một cách nhanh chóng, chúng ta có thể thêm một chuỗi rỗng vào số đó.

const val = 1 + "";
console.log(val); // Result: "1"
console.log(typeof val); // Result: "string"

Chuyển Đổi Sang Số

Điều ngược lại cũng có thể đạt được nhanh chóng bằng cách sử dụng toán tử cộng.

let int = "15";
int = +int;
console.log(int); // Result: 15
console.log(typeof int); Result: "number"

Lấy Ngẫu Nhiên Một Phần Tử Từ Mảng

let items = [12, 548, "a", 2, 5478, "foo", 8852, , "Doe", 2145, 119];

let randomItem = items[Math.floor(Math.random() * items.length)];

Làm Trống Một Mảng

Lấy ra độ dài trên một mảng và đặt nó bằng 0 sẽ làm cho mảng trống. Tương tự như vậy, việc sử dụng một số khác 0 sẽ cắt bớt mảng theo độ dài cụ thể đó.

let myArray = [12 , 222 , 1000 ];  
myArray.length = 0; // myArray will be equal to [].

let newArray = [12 , 222 , 1000 , 124 , 98 , 10 ];  
newArray.length = 4; // myArray will be equal to [12 , 222 , 1000 , 124]

Sắp xếp mảng theo thứ tự bảng chữ cái

//sort alphabetically
function alphabetSort(arr)
{
  return arr.sort((a, b) => a.localeCompare(b));
}
let array = ["d", "c", "b", "a"]
console.log(alphabetSort(array)) // ["a", "b", "c", "d"]