Javascript áp dụng chức năng cho mảng

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

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
0

const 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 ta

const 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

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à

  1. 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ẻ
  2. 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 đó

Bạn có thể đặt một hàm trong JavaScript mảng không?

Câu trả lời đơn giản là có, bạn có thể đặt hàm trong một mảng . Trên thực tế, có thể khai báo các biến và tham chiếu chúng trong hàm của bạn.

Áp dụng [] trong JavaScript là gì?

Phương thức apply[] được dùng để viết các phương thức có thể sử dụng trên các đối tượng khác nhau . Nó khác với hàm call[] vì nó nhận đối số là một mảng. cú pháp. áp dụng [] Giá trị trả về. Nó trả về các giá trị phương thức của một hàm đã cho.

Bạn có thể gọi một hàm trong một mảng không?

Điều quan trọng cần nhớ là khi một mảng được sử dụng làm đối số của hàm, địa chỉ của nó sẽ được truyền cho một hàm . Điều này có nghĩa là mã bên trong hàm sẽ hoạt động và có khả năng thay đổi nội dung thực tế của mảng được sử dụng để gọi hàm.

Đâu là sự khác biệt giữa call[] và apply[] ?

Sự khác biệt giữa call[] và apply[] . Phương thức call[] nhận các đối số riêng biệt. Phương thức apply[] nhận đối số dưới dạng mảng. Phương thức apply[] rất tiện dụng nếu bạn muốn sử dụng một mảng thay vì một danh sách đối số.

Chủ Đề