Nếu bạn muốn chuyển một mảng vào một hàm matrixdic. Bạn có thể sử dụng trải rộng ES6 để biến mảng đó thành danh sách các đối số. Yay, sạch sẽ hơn rất nhiều và không có null vô ích so với cách áp dụng cũ 👏
function sandwich[a, b, c] {
console.log[a]; // '🍞'
console.log[b]; // '🥬'
console.log[c]; // '🥓'
}
const food = ['🍞', '🥬', '🥓'];
// Old way
sandwich.apply[null, food];
// ✅ ES6 way
sandwich[...food];
- Sử dụng nó với các hàm Toán học
- Thí dụ. Tìm Số Lớn Nhất
- Giải thích sự lây lan theo thuật ngữ không dành cho nhà phát triển
- Truyền nhiều mảng dưới dạng đối số hàm
- Hàm biến thiên là gì?
- Tài nguyên
# Sử dụng nó với các hàm const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
2
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
Khả năng biến một mảng thành một danh sách các đối số cực kỳ tiện dụng với các hàm
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
2# Thí dụ. Tìm Số Lớn Nhất
Giả sử bạn muốn tìm số lớn nhất bằng cách sử dụng hàm
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
0const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
Nhưng hiếm khi, bạn sẽ chuyển các giá trị riêng lẻ. Nhiều khả năng, bạn sẽ muốn tìm phần tử lớn nhất trong một mảng. Vì vậy, câu hỏi bây giờ là, làm thế nào để bạn chuyển một mảng giá trị vào một hàm chấp nhận các đối số riêng lẻ chứ KHÔNG phải một mảng?
Điều này sẽ là khủng khiếp
const numbers = [5, 7, 3];
// 🤮 Yuck!
Math.max[numbers[0], numbers[1], numbers[2]];
// ❌ And this won't work
Math.max[numbers]; // NaN
May mắn cho chúng tôi, chúng tôi có thể sử dụng toán tử Spread của ES6
const numbers = [5, 7, 3];
// 😍 Much Better!
Math.max[...numbers]; // 7
Điều mà
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
1 đang làm ở đây là lấy phần tử mảng và mở rộng hoặc giải nén nó thành một danh sách các đối số cho hàm variadic của chúng taconst numbers = [5, 7, 3];
console.log[...numbers]; // 5 7 3
# Giải thích về const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
1 bằng thuật ngữ không dành cho nhà phát triển
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
Nếu bạn thấy điều lan truyền này vẫn còn khó hiểu. Có lẽ hãy để tôi cố gắng giải thích nó với những con búp bê làm tổ của Nga. Vì vậy, tôi thích coi mảng như những con búp bê làm tổ của Nga. Và những gì lây lan làm là
- Nó giải nén [trải rộng] những con búp bê lồng nhau thành những con búp bê riêng lẻ
- Và bây giờ bạn có tất cả các hình nhân [đối số] riêng lẻ này để đặt gọn gàng trong tủ trưng bày [chức năng] của bạn
Không chắc chắn nếu lời giải thích này giúp?
# Truyền nhiều mảng dưới dạng đối số hàm
Một khả năng lây lan siêu cường khác là kết hợp các mảng
________số 8
Vì vậy, chúng ta có thể sử dụng siêu năng lực này để truyền nhiều mảng làm đối số hàm 💪
const one = [1, 2, 3];
const two = [4, 5, 6];
Math.max[...one, ...two]; // 6
Đối với những người quan tâm, tự hỏi nếu bạn có thể vượt qua 3 mảng. Vâng, bạn cá là. Nó giống như chú thỏ cung cấp năng lượng, nó cứ đi và đi mãi. [Bài đăng này không được tài trợ bởi Energizer lol. Nhưng điều đó có thể thay đổi, đánh tôi lên Energizer. Tôi muốn một số tiền tài trợ 😂]
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
0# Hàm biến thiên là gì?
Vì vậy, bạn có thể nhận thấy tôi sử dụng thuật ngữ hàm biến thiên. Những người làm khoa học máy tính có lẽ đã nghe thuật ngữ này. Nhưng đối với những cool bee còn lại như mình 😝 thì có lẽ sẽ không mấy quen thuộc. Hàm biến thiên là hàm chấp nhận số lượng đối số vô hạn hoặc có thể thay đổi. Và hàm
const largest = Math.max[5, 7, 3, 4];
console.log[largest]; // 7
0 là một trong những hàm biến thiên đó