Hướng dẫn are javascript arrays fixed length? - các mảng javascript có độ dài cố định không?

. Tôi đã cố gắng google nó nhưng tôi nghĩ rằng tôi đang sử dụng các thuật ngữ sai vì tôi không thể tìm thấy gì.

Các mảng động có được lập chỉ mục danh sách liên kết không? Có phải chúng có các mảng cố định được tái tạo?

Tôi biết điều đó không quan trọng nhưng tôi bắt đầu tò mò về những thứ này dưới những thứ mui xe. Và vâng, nếu bạn không thể nói.

Thuộc tính length của một đối tượng là một thể hiện của loại Array hoặc trả về số lượng các phần tử trong mảng đó. Giá trị là một số nguyên không dấu, 32 bit, luôn luôn lớn hơn số chỉ số cao nhất trong mảng.length property of an object which is an instance of type Array sets or returns the number of elements in that array. The value is an unsigned, 32-bit integer that is always numerically greater than the highest index in the array.

Thử nó

Sự mô tả

Giá trị của thuộc tính length là một số nguyên có dấu dương và giá trị dưới 2 đến công suất thứ 32 (2^32).

const listA = [1,2,3];
const listB = new Array(6);

console.log(listA.length);
// 3

console.log(listB.length);
// 6

listB.length = 4294967296; //2 to the 32nd power = 4294967296
// RangeError: Invalid array length

const listC = new Array(-100) //negative sign
// RangeError: Invalid array length

Bạn có thể đặt thuộc tính length để cắt ngắn một mảng bất cứ lúc nào. Khi bạn mở rộng một mảng bằng cách thay đổi thuộc tính length của nó, số lượng các yếu tố thực tế tăng lên; Ví dụ: nếu bạn đặt length thành 3 khi hiện tại là 2, thì mảng hiện chứa 3 phần tử, khiến phần tử thứ ba là một khe trống không chuẩn.

const arr = [1, 2];
console.log(arr);
// [ 1, 2 ]

arr.length = 5; // set array length to 5 while currently 2.
console.log(arr);
// [ 1, 2, <3 empty items> ]

arr.forEach((element) => console.log(element));
// 1
// 2

Như bạn có thể thấy, thuộc tính length không nhất thiết chỉ ra số lượng giá trị được xác định trong mảng. Xem thêm mối quan hệ giữa length và các thuộc tính số.

  • const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    3: Nếu thuộc tính này được đặt thành
    const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    4, giá trị của thuộc tính không thể thay đổi.
  • const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    5: Nếu thuộc tính này được đặt thành
    const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    4, mọi nỗ lực xóa thuộc tính hoặc thay đổi thuộc tính của nó (
    const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    3,
    const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    5 hoặc
    const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    9) sẽ thất bại.
  • const arr = [1, 2];
    console.log(arr);
    // [ 1, 2 ]
    
    arr.length = 5; // set array length to 5 while currently 2.
    console.log(arr);
    // [ 1, 2, <3 empty items> ]
    
    arr.forEach((element) => console.log(element));
    // 1
    // 2
    
    9: Nếu thuộc tính này được đặt thành
    const numbers = [1, 2, 3, 4, 5];
    const length = numbers.length;
    for (let i = 0; i < length; i++) {
      numbers[i] *= 2;
    }
    // numbers is now [2, 4, 6, 8, 10]
    
    1, thuộc tính sẽ được lặp lại trong các vòng lặp
    const numbers = [1, 2, 3, 4, 5];
    const length = numbers.length;
    for (let i = 0; i < length; i++) {
      numbers[i] *= 2;
    }
    // numbers is now [2, 4, 6, 8, 10]
    
    2 hoặc
    const numbers = [1, 2, 3, 4, 5];
    const length = numbers.length;
    for (let i = 0; i < length; i++) {
      numbers[i] *= 2;
    }
    // numbers is now [2, 4, 6, 8, 10]
    
    3.

Ví dụ

Lặp lại trên một mảng

Trong ví dụ sau, mảng

const numbers = [1, 2, 3, 4, 5];
const length = numbers.length;
for (let i = 0; i < length; i++) {
  numbers[i] *= 2;
}
// numbers is now [2, 4, 6, 8, 10]
4 được lặp lại bằng cách nhìn vào thuộc tính length. Giá trị trong mỗi phần tử sau đó được nhân đôi.

const numbers = [1, 2, 3, 4, 5];
const length = numbers.length;
for (let i = 0; i < length; i++) {
  numbers[i] *= 2;
}
// numbers is now [2, 4, 6, 8, 10]

Rút ngắn một mảng

Ví dụ sau đây rút ngắn mảng

const numbers = [1, 2, 3, 4, 5];
const length = numbers.length;
for (let i = 0; i < length; i++) {
  numbers[i] *= 2;
}
// numbers is now [2, 4, 6, 8, 10]
4 xuống chiều dài 3 nếu độ dài hiện tại lớn hơn 3.

const numbers = [1, 2, 3, 4, 5];

if (numbers.length > 3) {
  numbers.length = 3;
}

console.log(numbers); // [1, 2, 3]
console.log(numbers.length); // 3

Tạo mảng trống có độ dài cố định

const numbers = [];
numbers.length = 3;
console.log(numbers); // [empty x 3]

Thông số kỹ thuật

Sự chỉ rõ
Thông số kỹ thuật ngôn ngữ Ecmascript # Sec-Properies-of-Array-instrans
# sec-properties-of-array-instances-length

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

Là một mảng có độ dài cố định?

Độ dài của một mảng được thiết lập khi mảng được tạo.Sau khi tạo, chiều dài của nó được cố định.After creation, its length is fixed.

Mảng JavaScript có thể thay đổi kích thước không?

JavaScript cho phép bạn thay đổi giá trị của thuộc tính độ dài mảng.Bằng cách thay đổi giá trị của độ dài, bạn có thể loại bỏ các phần tử khỏi mảng hoặc làm cho mảng thưa thớt.. By changing the value of the length, you can remove elements from the array or make the array sparse.

Một mảng javascript có thể là bao lâu?

Các mảng JavaScript là dựa trên 0 và sử dụng các chỉ mục 32 bit: Chỉ số của phần tử đầu tiên là 0 và chỉ số cao nhất có thể là 4294967294 (232−2), với kích thước mảng tối đa là 4.294.967.295 phần tử.32−2), for a maximum array size of 4,294,967,295 elements.

Mảng có thuộc tính chiều dài không?

Độ dài là một thuộc tính của các mảng trong JavaScript trả về hoặc đặt số lượng phần tử trong một mảng nhất định.Thuộc tính chiều dài của một mảng có thể được trả về như vậy.Toán tử gán, kết hợp với thuộc tính chiều dài, có thể được sử dụng để đặt số lượng phần tử trong một mảng như vậy.. The length property of an array can be returned like so. The assignment operator, in conjunction with the length property, can be used to set the number of elements in an array like so.