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

Bài Viết Liên Quan

Chủ Đề