Cách truyền giá trị vào mảng trong javascript

Tương tự như C/C++/Java, chúng ta có thể truyền toàn bộ mảng dưới dạng tham số cho một hàm trong JavaScript. Phương thức truyền mảng này được gọi là gọi theo tham chiếu trong JavaScript

Để truyền đối số mảng cho hàm, chỉ cần truyền tên của mảng (tham chiếu đến mảng) không có dấu ngoặc

Ví dụ: nếu chúng ta đã khai báo một mảng đánh dấu là

let hourlyTemp = new Array(30);

sau đó câu lệnh gọi hàm

modifyArray(hourlyTemp);

chuyển mảng hàng giờTemp cho hàm sửa đổiArray(). JavaScript tự động chuyển các mảng tới các hàm bằng cách gọi theo tham chiếu (hoặc chuyển theo tham chiếu)

Hàm nhận một mảng thông qua lệnh gọi hàm


Để một hàm nhận mảng thông qua lệnh gọi hàm, bạn phải chỉ định một tham số trong danh sách tham số của hàm sẽ tham chiếu đến mảng trong thân hàm

Không giống như các ngôn ngữ lập trình khác, JavaScript không cung cấp bất kỳ cú pháp cụ thể nào cho mục đích này. JavaScript chỉ cần tên của một mảng được chỉ định trong danh sách tham số chức năng

Ví dụ: chúng ta có thể viết định nghĩa hàm cho hàm modifyArray dưới dạng

function modifyArray(x)

Định nghĩa hàm trên chỉ ra rằng modifyArray() nhận một mảng số nguyên trong tham số x (đối số được cung cấp trong hàm gọi phải là một mảng)

Khi hàm được gọi sử dụng tên mảng x, nó trỏ đến mảng ban đầu trong trình gọi (mảng hourlyTemp)

Do đó, khi hàm được gọi cập nhật bất kỳ phần tử mảng nào trong thân hàm của nó, thì nó đang cập nhật các phần tử thực của mảng trong vị trí bộ nhớ ban đầu của chúng

Truyền mảng cho hàm dưới dạng truyền theo tham chiếu


1. Hãy tạo một chương trình JavaScript trong đó chúng ta sẽ chuyển một mảng đã khởi tạo cho một hàm. Sau đó, chúng ta sẽ nhân từng phần tử mảng với 5 và hiển thị nó


mã chương trình 1.

Output:
      Original array elements are:
      20 10 25 15 35 40
      Modified array elements:
      100 50 125 75 175 200

Trong chương trình ví dụ này, chúng tôi đã chuyển một mảng nums vào modifyArray() dưới dạng chuyển qua tham chiếu. Nghĩa là, tham số nums được truyền vào hàm modifyArray() với tham chiếu đến x. Bên trong hàm, các phần tử mảng được nhân với 5 và hiển thị


Mã chương trình 2.

Output:
      Original array elements are:
      10 20 30 40 50
      Modified array elements are:
      20 40 60 80 100

Truyền phần tử mảng riêng lẻ cho hàm dưới dạng truyền theo giá trị


Hãy tạo một chương trình JavaScript trong đó chúng ta sẽ chuyển toàn bộ mảng dưới dạng một tham chiếu đến hàm trong JavaScript. Sau đó, chúng ta sẽ chuyển phần tử mảng riêng lẻ cho hàm dưới dạng truyền theo giá trị trong JavaScript

Mã chương trình 3


Output:
      Original array:
      10 20 30 40 50
      Modified array:
      40 80 120 160 200
      nums[3] before modifyElement: 160
      nums[3] after modifyElement: 480

Mặc dù toàn bộ mảng được truyền theo tham chiếu, trong khi các phần tử mảng số và boolean riêng lẻ được truyền theo giá trị

Để chuyển một phần tử của mảng cho một hàm, hãy sử dụng tên viết tắt của phần tử đó làm giá trị đối số trong lệnh gọi hàm

Làm cách nào để chuyển các giá trị trong mảng trong JavaScript?

Phương pháp 1. Sử dụng phương thức apply() . Phương thức apply() được sử dụng để gọi một hàm với các đối số đã cho là một mảng hoặc đối tượng giống như mảng. Nó chứa hai tham số. Giá trị này cung cấp lời gọi hàm và mảng đối số chứa mảng đối số được truyền.

Làm cách nào để chuyển giá trị trong JavaScript?

Truyền theo giá trị. Trong Truyền theo giá trị, hàm được gọi bằng cách truyền trực tiếp giá trị của biến làm đối số . Vì vậy, mọi thay đổi được thực hiện bên trong hàm không ảnh hưởng đến giá trị ban đầu. Trong Truyền theo giá trị, các tham số được truyền dưới dạng đối số tạo bản sao của chính nó.

Làm cách nào để chuyển mảng theo tham chiếu trong JavaScript?

Mảng và Đối tượng được truyền theo tham chiếu hoặc theo giá trị dựa trên các điều kiện này. .
nếu bạn đang đặt giá trị của một đối tượng hoặc mảng thì đó là Truyền theo giá trị. đối tượng1 = { chỗ dựa. "xe ô tô" };
nếu bạn đang thay đổi giá trị thuộc tính của một đối tượng hoặc mảng thì đó là Truyền theo tham chiếu. đối tượng1

Làm cách nào để chuyển nhiều giá trị trong mảng trong JavaScript?

Sử dụng Mảng. phương thức concat() để đẩy nhiều giá trị vào một mảng , e. g. kết quả const = mảng. concat('b', 'c', 'd');.