Hướng dẫn single array argument javascript - đối số mảng đơn javascript

Vui lòng viết một hàm gọi là LastEuity chấp nhận một đối số mảng duy nhất. Hàm sẽ trả về phần tử cuối cùng của mảng (mà không xóa phần tử). Nếu mảng trống, hàm sẽ trả về null.

  1. cuối cùng ([3,5,7]) // 7
  2. cuối cùng ([1]) // 1
  3. cuối cùng ([]) // null
** the code that I wrote **

let array = [3, 5, 7];

function lastElement (array) { 
    return array[array.length - 1];
}

Tôi đã bối rối ở phần cuối cùng với chức năng trả về null nếu mảng nếu trống.

Hỏi ngày 24 tháng 11 năm 2020 lúc 15:17Nov 24, 2020 at 15:17

Hướng dẫn single array argument javascript - đối số mảng đơn javascript

3

Bạn có thể cập nhật mã của mình một chút để kiểm tra xem mảng có trống không và sau đó trả về null như thế này:

return array.length ? array[array.length - 1] : null;

Đã trả lời ngày 24 tháng 11 năm 2020 lúc 15:20Nov 24, 2020 at 15:20

Hướng dẫn single array argument javascript - đối số mảng đơn javascript

return array.length ? array[array.length - 1] : null;
5 là một đối tượng giống như ____ 16 có thể truy cập được bên trong các hàm chứa các giá trị của các đối số được truyền đến hàm đó. is an
return array.length ? array[array.length - 1] : null;
6-like object accessible inside functions that contains the values of the arguments passed to that function.

Thử nó

Sự mô tả

Đối tượng

return array.length ? array[array.length - 1] : null;
5 là một biến cục bộ có sẵn trong tất cả các chức năng không phải là không có. Bạn có thể tham khảo các đối số của hàm bên trong hàm đó bằng cách sử dụng đối tượng
return array.length ? array[array.length - 1] : null;
5 của nó. Nó có các mục cho mỗi đối số, hàm được gọi với, với chỉ mục của mục đầu tiên tại
return array.length ? array[array.length - 1] : null;
9.

Ví dụ: nếu một hàm được truyền 3 đối số, bạn có thể truy cập chúng như sau:

arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument

Đối tượng

return array.length ? array[array.length - 1] : null;
5 rất hữu ích cho các hàm được gọi với nhiều đối số hơn so với chúng được chính thức tuyên bố chấp nhận, được gọi là các hàm variadic, chẳng hạn như
arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
1. Hàm ví dụ này chấp nhận bất kỳ số lượng đối số chuỗi nào và trả về đoạn dài nhất:

function longestString() {
  let longest = '';
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i].length > longest.length) {
      longest = arguments[i];
    }
  }
  return longest;
}

Bạn có thể sử dụng

arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
2 để đếm số lượng đối số mà hàm được gọi với. Thay vào đó, nếu bạn muốn đếm có bao nhiêu tham số, một hàm được khai báo để chấp nhận, hãy kiểm tra thuộc tính ____23 của hàm đó.

Gán cho các chỉ số

Mỗi chỉ mục đối số cũng có thể được đặt hoặc chỉ định lại:

arguments[1] = 'new value';

Các hàm không nghiêm ngặt chỉ có các tham số đơn giản (nghĩa là không nghỉ ngơi, mặc định hoặc tham số bị phá hủy) sẽ đồng bộ hóa giá trị mới của các tham số với đối tượng

return array.length ? array[array.length - 1] : null;
5 và ngược lại:

function func(a) {
  arguments[0] = 99; // updating arguments[0] also updates a
  console.log(a);
}
func(10); // 99

function func2(a) {
  a = 99; // updating a also updates arguments[0]
  console.log(arguments[0]);
}
func2(10); // 99

Các hàm không nghiêm ngặt được truyền các tham số REST, mặc định hoặc bị phá hủy sẽ không đồng bộ hóa các giá trị mới được gán cho các tham số trong phần thân hàm với đối tượng

return array.length ? array[array.length - 1] : null;
5. Thay vào đó, đối tượng
return array.length ? array[array.length - 1] : null;
5 trong các hàm không nghiêm ngặt với các tham số phức tạp sẽ luôn phản ánh các giá trị được truyền đến hàm khi hàm được gọi.

function funcWithDefault(a = 55) {
  arguments[0] = 99; // updating arguments[0] does not also update a
  console.log(a);
}
funcWithDefault(10); // 10

function funcWithDefault2(a = 55) {
  a = 99; // updating a does not also update arguments[0]
  console.log(arguments[0]);
}
funcWithDefault2(10); // 10

// An untracked default parameter
function funcWithDefault3(a = 55) {
  console.log(arguments[0]);
  console.log(arguments.length);
}
funcWithDefault3(); // undefined; 0

Đây là hành vi tương tự được thể hiện bởi tất cả các hàm chế độ nghiêm ngặt, bất kể loại tham số chúng được thông qua. Nghĩa là, việc gán các giá trị mới cho các tham số trong phần thân của hàm không bao giờ ảnh hưởng đến đối tượng

return array.length ? array[array.length - 1] : null;
5, cũng sẽ không gán các giá trị mới cho các chỉ số
return array.length ? array[array.length - 1] : null;
5 ảnh hưởng đến giá trị của các tham số, ngay cả khi hàm chỉ có các tham số đơn giản.

Lưu ý: Bạn không thể viết một chỉ thị

arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
9 trong phần thân của định nghĩa hàm chấp nhận các tham số nghỉ ngơi, mặc định hoặc bị phá hủy. Làm như vậy sẽ ném một lỗi cú pháp. You cannot write a
arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
9 directive in the body of a function definition that accepts rest, default, or destructured parameters. Doing so will throw a syntax error.

Đối số là một đối tượng giống như mảng

return array.length ? array[array.length - 1] : null;
5 là một đối tượng giống như mảng, có nghĩa là
return array.length ? array[array.length - 1] : null;
5 có thuộc tính và thuộc tính
arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
3 được lập chỉ mục từ số 0, nhưng nó không có các phương thức tích hợp của ____ 16 như
function longestString() {
  let longest = '';
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i].length > longest.length) {
      longest = arguments[i];
    }
  }
  return longest;
}
4 hoặc
function longestString() {
  let longest = '';
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i].length > longest.length) {
      longest = arguments[i];
    }
  }
  return longest;
}
5. Tuy nhiên, nó có thể được chuyển đổi thành một
return array.length ? array[array.length - 1] : null;
6 thực, sử dụng một trong
function longestString() {
  let longest = '';
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i].length > longest.length) {
      longest = arguments[i];
    }
  }
  return longest;
}
7,
function longestString() {
  let longest = '';
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i].length > longest.length) {
      longest = arguments[i];
    }
  }
  return longest;
}
8 hoặc cú pháp lan truyền.

const args = Array.prototype.slice.call(arguments);
// or
const args = Array.from(arguments);
// or
const args = [...arguments];

Đối với các trường hợp sử dụng phổ biến, sử dụng nó như một đối tượng giống như mảng là đủ, vì cả hai đều có thể hiểu được và có

arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
3 và các chỉ số số. Ví dụ:
arguments[1] = 'new value';
0 chấp nhận các đối tượng giống như mảng.

function midpoint() {
  return (Math.min.apply(null, arguments) + Math.max.apply(null, arguments)) / 2;
}

console.log(midpoint(3, 1, 4, 1, 5)); // 3

Đặc tính

arguments[1] = 'new value';
1

Tham khảo chức năng hiện đang thực hiện mà các đối số thuộc về. Cấm trong chế độ nghiêm ngặt.

arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
2

Số lượng đối số đã được truyền cho hàm.

arguments[1] = 'new value';
3

Trả về một đối tượng lặp mảng mới chứa các giá trị cho mỗi chỉ mục trong

return array.length ? array[array.length - 1] : null;
5.

Ví dụ

Xác định một hàm kết nối một số chuỗi

Ví dụ này xác định một hàm kết nối một số chuỗi. Đối số chính thức duy nhất của hàm là một chuỗi chứa các ký tự tách các mục thành Concatenate.

function myConcat(separator) {
  const args = Array.prototype.slice.call(arguments, 1);
  return args.join(separator);
}

Bạn có thể vượt qua bao nhiêu đối số tùy thích cho chức năng này. Nó trả về một danh sách chuỗi bằng cách sử dụng mỗi đối số trong danh sách:

return array.length ? array[array.length - 1] : null;
0

Xác định chức năng tạo danh sách HTML

Ví dụ này xác định một hàm tạo một chuỗi chứa HTML cho một danh sách. Đối số chính thức duy nhất cho hàm là một chuỗi là

arguments[1] = 'new value';
5 nếu danh sách không được đặt hàng (viên đạn) hoặc
arguments[1] = 'new value';
6 nếu danh sách được đặt hàng (được đánh số). Hàm được định nghĩa như sau:

return array.length ? array[array.length - 1] : null;
1

Bạn có thể chuyển bất kỳ số lượng đối số nào cho chức năng này và nó thêm từng đối số dưới dạng mục danh sách vào danh sách loại được chỉ định. Ví dụ:

return array.length ? array[array.length - 1] : null;
2

Sử dụng loại hình với các đối số

Toán tử

arguments[1] = 'new value';
7 trả về
arguments[1] = 'new value';
8 khi được sử dụng với
return array.length ? array[array.length - 1] : null;
5

return array.length ? array[array.length - 1] : null;
3

Loại đối số riêng lẻ có thể được xác định bằng cách lập chỉ mục

return array.length ? array[array.length - 1] : null;
5:

return array.length ? array[array.length - 1] : null;
4

Thông số kỹ thuật

Sự chỉ rõ
Thông số kỹ thuật ngôn ngữ Ecmascript # sec-argument-exotic-sơ đồ
# sec-arguments-exotic-objects

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm