Hướng dẫn pass empty array to function javascript - chuyển mảng trống cho hàm javascript

1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã trải qua mã thực hành JS [để phỏng vấn] và tôi thấy rằng người hướng dẫn đã sử dụng/gán mảng trống trong tham số chức năng

function walk[collection, result = []] {
  collection.forEach[item => {
    if[isTheItem[item]] result.push[item];
    else walk[item[0].children, result];
  }];
  return result;
}

Nói chung, là mã trên và mã sau bằng

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }

Ngay cả từ quan điểm đệ quy? Và nếu không, ai đó có thể vui lòng giải thích cho tôi sự khác biệt?

Đã hỏi ngày 6 tháng 5 năm 2019 lúc 9:09May 6, 2019 at 9:09

là mã trên và mã sau bằng

Không, bởi vì trong mã thứ hai của bạn, walk chỉ chấp nhận một đối số và mọi cuộc gọi của walk [cho dù đệ quy hay không] sẽ có một result mới. Mã thứ hai của bạn hiện sẽ chỉ xuất ra các mục từ cấp cao nhất trong bộ sưu tập.

Để sửa mã thứ hai, bạn sẽ phải chấp nhận một đối số thứ hai để vượt qua result, một cái gì đó như:

function walk[collection, result] {
  if [!result] {
    result = [];
  }
  collection.forEach[item => {
    if[isTheItem[item]] result.push[item];
    else walk[item[0].children, result];
  }];
  return result;
}

Đã trả lời ngày 6 tháng 5 năm 2019 lúc 9:11May 6, 2019 at 9:11

Cú pháp đó về cơ bản là một trình giữ chỗ - nếu không có tham số nào được cung cấp làm đối số hàm, thì một mảng trống được gán theo mặc định.

Đã trả lời ngày 6 tháng 5 năm 2019 lúc 9:11May 6, 2019 at 9:11

Cú pháp đó về cơ bản là một trình giữ chỗ - nếu không có tham số nào được cung cấp làm đối số hàm, thì một mảng trống được gán theo mặc định.MikeB

Mikebmikeb3 silver badges18 bronze badges

Trống một mảng trong javascript #

Để trống một mảng, hãy gọi phương thức

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
0, chuyển nó
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
1 dưới dạng tham số -
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
2. Phương thức sẽ làm trống mảng ban đầu, bằng cách xóa và trả về tất cả các phần tử của nó bắt đầu từ Index Zero.

Copied!

const arr = ['a', 'b', 'c']; arr.splice[0]; console.log[arr]; // 👉️ []

Tham số chúng tôi đã chuyển đến phương thức mảng.Splice là chỉ mục bắt đầu - chỉ mục tại đó chúng tôi bắt đầu thay đổi mảng.start index - the index at which we start changing the array.

Tham số thứ hai mà phương thức

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
3 thực hiện là xóa đếm - số lượng các phần tử cần được xóa khỏi mảng, từ chỉ mục bắt đầu trở đi.delete count - the number of elements that should be removed from the array, from the start index onwards.

Nếu tham số đếm xóa không được cung cấp, tất cả các phần tử từ chỉ mục bắt đầu trở đi sẽ bị xóa.

Đối với các mục đích của chúng tôi, chúng tôi cung cấp một chỉ số bắt đầu của

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
1 để xóa tất cả các yếu tố và làm trống mảng.

Một giải pháp hiệu suất hơn và tốt hơn là phân công lại biến giữ mảng.

Để làm trống một mảng, gán lại biến lưu trữ mảng và đặt nó thành một mảng trống, ví dụ:

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
5. Lưu ý rằng bạn chỉ có thể chỉ định lại các biến, được khai báo bằng cách sử dụng từ khóa
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
6 và
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
7. Đây là cách hiệu suất nhất để làm trống một mảng trong JavaScript.

Copied!

let arr = ['a', 'b', 'c']; arr = []; console.log[arr]; // 👉️ []

Lưu ý rằng chúng tôi sử dụng từ khóa

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
6 để khai báo biến
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
9. Nếu chúng tôi sử dụng từ khóa
function walk[collection, result] {
  if [!result] {
    result = [];
  }
  collection.forEach[item => {
    if[isTheItem[item]] result.push[item];
    else walk[item[0].children, result];
  }];
  return result;
}
0, chúng tôi sẽ không thể gán lại biến và đặt nó thành một mảng trống.

Một cách tiếp cận khác là đặt chiều dài của mảng thành

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
1.

Để làm trống một mảng, đặt thuộc tính

function walk[collection, result] {
  if [!result] {
    result = [];
  }
  collection.forEach[item => {
    if[isTheItem[item]] result.push[item];
    else walk[item[0].children, result];
  }];
  return result;
}
2 của nó thành
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
1. Khi thuộc tính
function walk[collection, result] {
  if [!result] {
    result = [];
  }
  collection.forEach[item => {
    if[isTheItem[item]] result.push[item];
    else walk[item[0].children, result];
  }];
  return result;
}
2 của một mảng được thay đổi, mọi phần tử có chỉ mục không nhỏ hơn độ dài mới của mảng sẽ tự động bị xóa.

Copied!

const arr = ['a', 'b', 'c']; arr.length = 0; console.log[arr]; // 👉️ []

Bằng cách đặt độ dài của mảng thành

  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
1, chúng tôi tự động xóa tất cả các phần tử khỏi mảng với một chỉ mục không nhỏ hơn
  function walk[collection] {
      const result = []
      collection.forEach[item => {
        if[isTheItem[item]] result.push[item];
        else walk[item[0].children, result];
      }];
      return result;
    }
1, bao gồm toàn bộ mảng.

Đọc thêm #

  • Tìm các số lẻ trong một mảng bằng JavaScript
  • Tìm các số chẵn trong một mảng bằng JavaScript
  • Nhận một phần tử ngẫu nhiên từ một mảng bằng JavaScript
  • Nhận nhiều phần tử ngẫu nhiên từ một mảng trong JavaScript
  • Thêm mảng các giá trị vào một tập hợp hiện có trong JavaScript
  • Tạo bản đồ từ một mảng bằng JavaScript
  • Kiểm tra xem giá trị không nằm trong một mảng bằng JavaScript
  • Cách làm phẳng một mảng bằng JavaScript
  • Chuyển đổi một mảng thành JSON bằng JavaScript
  • Tạo một đối tượng từ hai mảng trong JavaScript
  • Chuyển đổi một đối tượng thành một mảng các đối tượng trong JavaScript
  • Chuyển đổi một mảng các đối tượng thành bản đồ trong JavaScript

Làm thế nào để bạn vượt qua một mảng trống trong một chức năng?

Bạn có thể chuyển tham số bằng con trỏ [*] hoặc tham chiếu [&] - nhưng bạn không thể sử dụng cả hai cùng một lúc, như thế này. Bạn có thể sử dụng một mảng STL, như @n.m. Ghi chú - Trong trường hợp đó tôi sẽ đề nghị truyền qua tham chiếu [nếu bạn sử dụng cả, bạn sẽ nhận được một bản sao cục bộ và các giá trị sẽ không được truyền lại.]pass the parameter by pointer [*], or reference [&] - but you can't use both at once, like this. You can use an STL array, as @n.m. notes - in which case I would suggest passing by reference [if you use neither, you'll get a local copy, and the values won't be passed back.]

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.

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

Cách đầu tiên là bạn có thể nhận được một mảng trống bằng cách gán ký hiệu theo nghĩa đen cho một biến như sau: hãy để FirstArr = [];Đặt Secondarr = ["Nathan", "Jack"];Biểu tượng dấu ngoặc vuông [] là một biểu tượng bắt đầu và kết thúc một kiểu dữ liệu mảng, vì vậy bạn có thể sử dụng nó để gán một mảng trống.you can get an empty array by assigning the array literal notation to a variable as follows: let firstArr = []; let secondArr = ["Nathan", "Jack"]; The square brackets symbol [] is a symbol that starts and ends an array data type, so you can use it to assign an empty array.

Một mảng trống trong javascript là gì?

Thuộc tính độ dài đặt hoặc trả về số lượng phần tử trong một mảng.Bằng cách biết số lượng các phần tử trong mảng, bạn có thể biết nó có trống hay không.Một mảng trống sẽ có 0 phần tử bên trong nó.An empty array will have 0 elements inside of it.

Bài Viết Liên Quan

Chủ Đề