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
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. function walk[collection] {
const result = []
collection.forEach[item => {
if[isTheItem[item]] result.push[item];
else walk[item[0].children, result];
}];
return result;
}
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ụ:
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. function walk[collection] {
const result = []
collection.forEach[item => {
if[isTheItem[item]] result.push[item];
else walk[item[0].children, result];
}];
return result;
}
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
2 của nó thà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;
}
1. Khi thuộc tính function walk[collection] {
const 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.function walk[collection, result] {
if [!result] {
result = [];
}
collection.forEach[item => {
if[isTheItem[item]] result.push[item];
else walk[item[0].children, result];
}];
return result;
}
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