Làm cách nào để bạn cung cấp cho mảng một hàm trong javascript?

Trong Javascript, chúng ta thường lưu trữ dữ liệu dưới dạng mảng và các hàm chúng ta muốn gọi. Đôi khi, dữ liệu trong mảng của chúng ta chính xác là dữ liệu chúng ta muốn chuyển đến một hàm. May mắn thay, có nhiều cách trong Javascript để sử dụng mảng làm giá trị đầu vào cho các hàm. Hãy xem cách sử dụng mảng làm tham số hàm

Cách sử dụng mảng làm tham số hàm

Khi chúng ta có một hàm mà chúng ta muốn truyền một mảng vào, cách cơ bản nhất để làm điều đó sẽ như thế này

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[numbers[0], numbers[1], numbers[2]];

Tất nhiên, điều này có thể khá khó chịu, đặc biệt khi làm việc với các hàm có danh sách thuộc tính rất dài. Như vậy Javascript đã cung cấp cho chúng ta 2 cách sử dụng mảng làm tham số hàm trong Javascript -

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
3 và toán tử trải rộng

Truyền mảng cho hàm bằng toán tử trải rộng

Cách hiện đại và dễ dàng nhất để truyền một mảng cho một hàm là sử dụng toán tử trải rộng. Toán tử trải rộng [

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
4] được thêm vào trước mảng. Sử dụng ví dụ trước của chúng tôi, có vẻ như thế này

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];

Chúng ta cũng có thể thêm trực tiếp mảng vào hàm mà không cần biến. Ví dụ

let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...[ 1, 2, 3 ]];

Nếu bạn muốn tìm hiểu mọi thứ mà toán tử trải rộng có thể làm, hãy xem hướng dẫn của tôi về điều đó tại đây

Truyền mảng cho hàm bằng apply[]

Một cách khác để làm điều này là sử dụng

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
3. Nếu bạn không quen với trường hợp sử dụng chính của

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
3, hãy xem hướng dẫn đầy đủ của tôi về đối tượng this của Javascript tại đây

Cuối cùng,

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
3 cho phép chúng ta lấy một hàm và truyền một mảng vào đó. Thuộc tính đầu tiên của

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
3 thực sự đề cập đến đối tượng

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
0 mà chúng ta muốn sử dụng trên hàm. Đối số thứ hai là một mảng gồm tất cả các tham số cho hàm đó. Điều đó có nghĩa là bạn có thể xác định cấu trúc của

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
0 cũng như chuyển một mảng vào chính hàm đó

Điều này rõ ràng có một số lợi ích cụ thể khi so sánh với toán tử chênh lệch [

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
4], vì vậy nó có thể phù hợp hơn tùy thuộc vào những gì bạn muốn đạt được. Sử dụng ví dụ trước, chúng ta có thể truyền một mảng vào hàm của mình như vậy

let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction.apply[{}, [ 1, 2, 3 ]];

Ở đây, tôi đang để trống đối tượng

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
0, vì vậy nếu chúng ta sử dụng

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
0 trong

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
5, thì đó sẽ là một đối tượng trống - đó là điều mà đối số đầu tiên của

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
3 thực hiện. Thứ hai là mảng của chúng tôi

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
7, lần lượt đề cập đến

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
8,

let numbers = [ 1, 2, 3 ] let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...numbers];
9 và

let myFunction = [x, y, z] => { return x + y + z; } // Returns 6 let getCalculation = myFunction[...[ 1, 2, 3 ]];
0

Làm cách nào để tạo một hàm mảng trong JavaScript?

Tạo mảng . cú pháp. const tên_mảng = [mục1,mục2,. ]; Thông thường khai báo mảng với từ khóa const.

Một mảng có thể nằm trong hàm JavaScript không?

Mảng. Hàm of[] là một hàm có sẵn trong JavaScript giúp tạo một thể hiện mảng mới với các biến hiện diện làm đối số của hàm.

Bạn có thể khai báo một mảng trong hàm không?

Không thể truyền toàn bộ mảng làm đối số cho một hàm trong C++ . Tuy nhiên, bạn có thể chuyển một con trỏ tới một mảng không có chỉ mục bằng cách chỉ định tên của mảng.

Chủ Đề