Hướng dẫn javascript pass array to function - chuyển mảng javascript vào hàm

Câu trả lời đã được đưa ra, nhưng tôi chỉ muốn tặng miếng bánh của mình. Những gì bạn muốn đạt được được gọi là

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
2 trong bối cảnh của JS, rằng khi chúng ta lấy một phương thức từ một đối tượng và gọi nó trong bối cảnh của một đối tượng khác. Nó là khá phổ biến để lấy các phương thức mảng và áp dụng chúng vào các đối số. Tôi sẽ cho bạn một ví dụ.

Vì vậy, chúng tôi có hàm băm "siêu" lấy hai số làm đối số và trả về chuỗi băm "siêu an toàn":

function hash() {
  return arguments[0]+','+arguments[1];
}

hash(1,2); // "1,2" whoaa

Cho đến nay rất tốt, nhưng chúng tôi có rất ít vấn đề với phương pháp trên, nó bị hạn chế, chỉ hoạt động với hai số, không phải là động, hãy làm cho nó hoạt động với bất kỳ số nào và cộng với bạn không phải vượt qua một mảng (bạn có thể Nếu bạn vẫn khăng khăng). OK, đủ nói, hãy chiến đấu!

Giải pháp tự nhiên sẽ là sử dụng phương pháp

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
3:

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function

Trời ơi. Thật không may, điều đó đã giành được công việc. Bởi vì chúng tôi đang gọi băm (đối số) và đối tượng đối số vừa được lặp lại và giống như mảng, nhưng không phải là một mảng thực sự. Làm thế nào về cách tiếp cận dưới đây?

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa

Bí quyết được gọi là

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
4

Chúng tôi mượn một phương thức

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
5 từ một mảng thông thường
function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
6 và sử dụng
function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
7 để chạy nó trong bối cảnh của
function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
8.

Tại sao nó hoạt động?

Điều đó bởi vì thuật toán nội bộ của phương pháp gốc

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
9 rất đơn giản.

Được lấy từ đặc điểm kỹ thuật gần như là as-is ”:

Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.

Vì vậy, về mặt kỹ thuật, nó có điều này và tham gia vào điều này [0], điều này [1], vv cùng nhau. Nó có chủ ý được viết theo cách cho phép bất kỳ mảng nào giống như điều này (không phải là sự trùng hợp ngẫu nhiên, nhiều phương pháp tuân theo thực tiễn này). Đó là lý do tại sao nó cũng hoạt động với

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
0

  1. Xóa phần tử đầu tiên khỏi một mảng trong JavaScript
  2. Bạn có thể chuyển một mảng cho một chức năng trong JavaScript không?
  3. Cách hiện đại và dễ nhất để chuyển một mảng cho một chức năng là sử dụng toán tử lây lan. Toán tử lây lan (...) được thêm đơn giản trước mảng.

Làm thế nào để bạn chuyển một mảng cho một chức năng?

  1. Sử dụng phương thức
    function hash() {
      return [].join.call(arguments);
    }
    
    hash(1,2,3,4); // "1,2,3,4" whoaa
    
    1 để chuyển một mảng cho một hàm trong javascript
  2. Sử dụng toán tử
    function hash() {
      return [].join.call(arguments);
    }
    
    hash(1,2,3,4); // "1,2,3,4" whoaa
    
    2 để chuyển một mảng cho một hàm trong JavaScript
  3. Sử dụng đối tượng
    function hash() {
      return arguments.join();
    }
    
    hash(1,2,4,..); //  Error: arguments.join is not a function
    
    8 để chuyển một mảng cho một hàm trong javascript

Hướng dẫn này nhằm mục đích dạy cho bạn các cách khác nhau để chuyển một mảng cho một hàm bằng JavaScript. Nó làm nổi bật phương thức

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
1, toán tử
function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
2, đối tượng
function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
8 và cách truyền toàn bộ mảng đến một hàm dưới dạng tham số.

Phương thức

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
1 thực thi một hàm có giá trị
function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
8 và đưa ra các đối số dưới dạng một mảng hoặc đối tượng giống như mảng. Nó được sử dụng trên một chức năng cụ thể phải được thông qua.

Trong phương thức

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
1, giá trị
function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
8 là tham số đầu tiên gọi đến hàm và
function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
8 là thứ hai với mảng các đối số được truyền.

Hãy nhớ rằng, nếu giá trị

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
8 không thể là giá trị ban đầu được nhìn thấy bởi một hàm (nếu phương thức là một hàm trong mã chế độ không nghiêm ngặt). Đối tượng toàn cầu sẽ là
Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
3 và
Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
4, trong khi các giá trị nguyên thủy sẽ được đóng hộp.

Ecmascript 6 (ES6) cung cấp một toán tử tuyệt vời có tên

function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
2. Nó được viết là
Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
6 trong mã JavaScript. Toán tử này cho phép có thể lặp lại, ví dụ, các mảng. Nó được sử dụng để xử lý tất cả các phần tử mảng hoặc một đối tượng.

Mặt khác, đối tượng

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
8 là giống như mảng (có nghĩa là đối tượng
function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
8 có thuộc tính
Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
9) mà chúng ta có thể sử dụng trong hàm có các giá trị đối số.

Sử dụng phương thức function hash() { return [].join.call(arguments); } hash(1,2,3,4); // "1,2,3,4" whoaa 1 để chuyển một mảng cho một hàm trong javascript

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i

Output:

"Mehvish"
"John"
"Henry"
"Thomas"

Trong ví dụ được đưa ra ở trên, chúng tôi có một mảng

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
1 và một hàm có tên
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
2 để in tất cả các phần tử của mảng
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
1. Chúng tôi sử dụng phương thức
function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
1 để chuyển một mảng cho hàm
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
2.

Sử dụng toán tử function hash() { return [].join.call(arguments); } hash(1,2,3,4); // "1,2,3,4" whoaa 2 để chuyển một mảng cho một hàm trong JavaScript

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(...names);

function displayName(){
 	for(var i=0; i

Output:

"Mehvish"
"John"
"Henry"
"Thomas"

Ở đây, chúng tôi có chức năng

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
1 và
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
8 một lần nữa để in tất cả các phần tử mảng. Chúng tôi sử dụng cú pháp
function hash() {
  return [].join.call(arguments);
}

hash(1,2,3,4); // "1,2,3,4" whoaa
2
Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
6 để chuyển toàn bộ mảng cho hàm.

Sử dụng đối tượng function hash() { return arguments.join(); } hash(1,2,4,..); // Error: arguments.join is not a function 8 để chuyển một mảng cho một hàm trong javascript

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(names);

function displayName(){
 	for(var i=0; i

Output:

["Mehvish", "John", "Henry", "Thomas"]

Trong đoạn mã được đưa ra ở trên, chúng tôi sử dụng đối tượng

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
8 để chuyển mảng
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
1 cho hàm
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i
2. Chúng ta có thể chuyển toàn bộ mảng đến hàm như một đối số để đơn giản hóa mã.

Đối với điều này, bạn có thể thực hành mã sau.

function hash() {
  return arguments.join();
}

hash(1,2,4,..); //  Error: arguments.join is not a function
0

Output:

"Mehvish"
"John"
"Henry"
"Thomas"

Bài viết liên quan - Mảng JavaScript

  • Kiểm tra xem mảng có chứa giá trị trong javascript không
  • Tạo mảng có độ dài cụ thể trong JavaScript
  • Chuyển đổi mảng thành chuỗi trong javascript
  • Xóa phần tử đầu tiên khỏi một mảng trong JavaScript
  • Bạn có thể chuyển một mảng cho một chức năng trong JavaScript không?

    Cách hiện đại và dễ nhất để chuyển một mảng cho một chức năng là sử dụng toán tử lây lan. Toán tử lây lan (...) được thêm đơn giản trước mảng.use the spread operator. The spread operator ( ... ) is simply added before the array.

    Làm thế nào để bạn chuyển một mảng cho một chức năng?

    Để chuyển toàn bộ một mảng cho một hàm, chỉ tên của mảng được truyền như một đối số. kết quả = tính toán (num); Tuy nhiên, lưu ý việc sử dụng [] trong định nghĩa chức năng. Điều này thông báo cho trình biên dịch rằng bạn đang chuyển một mảng một chiều cho hàm.only the name of the array is passed as an argument. result = calculateSum(num); However, notice the use of [] in the function definition. This informs the compiler that you are passing a one-dimensional array to the function.

    Làm thế nào để bạn vượt qua một mảng các đối tượng trong JavaScript?

    Để đẩy một mảng vào đối tượng trong javascript, chúng ta cần sử dụng hàm push ().Với sự trợ giúp của chức năng đẩy mảng, nhiệm vụ này rất dễ đạt được.Hàm PUSH (): Hàm Push () mảng thêm một hoặc nhiều giá trị vào cuối mảng và trả về độ dài mới.utilize the push() function. With the help of Array push function this task is so much easy to achieve. push() function: The array push() function adds one or more values to the end of the array and returns the new length.

    Làm thế nào để bạn chuyển một mảng cho một chuỗi trong javascript?

    Phương thức toString () của JavaScript hoạt động trên một đối tượng nhất định, trả về biểu diễn văn bản của nó dưới dạng chuỗi.Áp dụng phương thức toString () cho một mảng trả về các giá trị trong mảng dưới dạng chuỗi.Applying the toString() method to an array returns the values in the array as a string.