Hướng dẫn get value of array javascript - nhận giá trị của mảng javascript

Phương thức values() trả về một đối tượng lặp mảng mới để lặp lại giá trị của mỗi chỉ mục trong mảng.values() method returns a new array iterator object that iterates the value of each index in the array.

Thử nó

Cú pháp

Giá trị trả về

Một đối tượng lặp mới có thể lặp lại.

Sự mô tả

Array.prototype.values() là triển khai mặc định của

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
0.

Array.prototype.values === Array.prototype[Symbol.iterator]; // true

Khi được sử dụng trên các mảng thưa thớt, phương pháp values() lặp lại các khe trống như thể chúng có giá trị

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
2.

Phương pháp values() là chung chung. Nó chỉ mong đợi giá trị

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
4 có thuộc tính
const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
5 và các thuộc tính được khóa.

Ví dụ

Lặp lại sử dụng cho ... của vòng lặp

Bởi vì values() trả về một trình lặp có thể lặp lại, bạn có thể sử dụng vòng lặp

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
7 để lặp lại nó.

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"

Lặp lại sử dụng NEXT ()

Vì giá trị trả về cũng là một trình lặp, bạn có thể gọi trực tiếp phương thức

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
8 của nó.

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();
iterator.next(); // { value: "a", done: false }
iterator.next(); // { value: "b", done: false }
iterator.next(); // { value: "c", done: false }
iterator.next(); // { value: "d", done: false }
iterator.next(); // { value: "e", done: false }
iterator.next(); // { value: undefined, done: true }
console.log(iterator.next().value); // undefined

Tái sử dụng điều đó

CẢNH BÁO: Đối tượng tererator mảng phải là đối tượng sử dụng một lần. Không sử dụng lại nó. The array iterator object should be a one-time use object. Do not reuse it.

Các điều đó được trả lại từ values() không thể tái sử dụng. Khi

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();
iterator.next(); // { value: "a", done: false }
iterator.next(); // { value: "b", done: false }
iterator.next(); // { value: "c", done: false }
iterator.next(); // { value: "d", done: false }
iterator.next(); // { value: "e", done: false }
iterator.next(); // { value: undefined, done: true }
console.log(iterator.next().value); // undefined
0 hoặc
const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();
iterator.next(); // { value: "a", done: false }
iterator.next(); // { value: "b", done: false }
iterator.next(); // { value: "c", done: false }
iterator.next(); // { value: "d", done: false }
iterator.next(); // { value: "e", done: false }
iterator.next(); // { value: undefined, done: true }
console.log(iterator.next().value); // undefined
1, vòng lặp
const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
7 kết thúc và lặp đi lặp lại nó không có tác dụng.

const arr = ["a", "b", "c", "d", "e"];
const values = arr.values();
for (const letter of values) {
  console.log(letter);
}
// "a" "b" "c" "d" "e"
for (const letter of values) {
  console.log(letter);
}
// undefined

Nếu bạn sử dụng câu lệnh

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();
iterator.next(); // { value: "a", done: false }
iterator.next(); // { value: "b", done: false }
iterator.next(); // { value: "c", done: false }
iterator.next(); // { value: "d", done: false }
iterator.next(); // { value: "e", done: false }
iterator.next(); // { value: undefined, done: true }
console.log(iterator.next().value); // undefined
3 để kết thúc lần lặp sớm, trình lặp có thể tiếp tục từ vị trí hiện tại khi tiếp tục lặp lại nó.

const arr = ["a", "b", "c", "d", "e"];
const values = arr.values();
for (const letter of values) {
  console.log(letter);
  if (letter === "b") {
    break;
  }
}
// "a" "b"

for (const letter of values) {
  console.log(letter);
}
// "c" "d" "e"

Đột biến trong quá trình lặp

Không có giá trị được lưu trữ trong đối tượng tererator mảng được trả về từ values(); Thay vào đó, nó lưu trữ địa chỉ của mảng được sử dụng trong sáng tạo của nó và đọc chỉ mục hiện đã truy cập trên mỗi lần lặp. Do đó, đầu ra lặp của nó phụ thuộc vào giá trị được lưu trữ trong chỉ số đó tại thời điểm bước. Nếu các giá trị trong mảng thay đổi, các giá trị của đối tượng iterator cũng cũng thay đổi.

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();
console.log(iterator); // Array Iterator { }
console.log(iterator.next().value); // "a"
arr[1] = "n";
console.log(iterator.next().value); // "n"

Lặp lại mảng thưa thớt

values() sẽ truy cập các khe trống như thể chúng là

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
2.

for (const element of [, "a"].values()) {
  console.log(element);
}
// undefined
// 'a'

Gọi giá trị () trên các đối tượng không phải là

Phương thức values() đọc thuộc tính

const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
5 của
const arr = ["a", "b", "c", "d", "e"];
const iterator = arr.values();

for (const letter of iterator) {
  console.log(letter);
} // "a" "b" "c" "d" "e"
4 và sau đó truy cập vào từng chỉ mục số nguyên.

const arrayLike = {
  length: 3,
  0: "a",
  1: "b",
  2: "c",
};
for (const entry of Array.prototype.values.call(arrayLike)) {
  console.log(entry);
}
// a
// b
// c

Thông số kỹ thuật

Sự chỉ rõ
Thông số kỹ thuật ngôn ngữ Ecmascript # sec-array.prototype.values
# sec-array.prototype.values

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 thế nào để bạn nhận được một giá trị cụ thể từ một mảng trong JavaScript?

Sử dụng bộ lọc nếu bạn muốn tìm tất cả các mục trong một mảng đáp ứng một điều kiện cụ thể. Sử dụng Tìm nếu bạn muốn kiểm tra xem ít nhất một mục đáp ứng một điều kiện cụ thể. Sử dụng bao gồm nếu bạn muốn kiểm tra xem một mảng có chứa một giá trị cụ thể không. Sử dụng indexof nếu bạn muốn tìm chỉ mục của một mục cụ thể trong một mảng.. Use find if you want to check if that at least one item meets a specific condition. Use includes if you want to check if an array contains a particular value. Use indexOf if you want to find the index of a particular item in an array.

Làm thế nào để tôi tìm thấy một giá trị trong một mảng?

Nếu bạn cần chỉ số của phần tử tìm thấy trong mảng, hãy sử dụng FindIndex ().Nếu bạn cần tìm chỉ mục của một giá trị, hãy sử dụng indexof ()..use indexOf() . (It's similar to findIndex() , but checks each element for equality with the value instead of using a testing function.)

Làm thế nào để bạn truy cập một mảng các đối tượng?

Cấu trúc dữ liệu lồng nhau là một mảng hoặc đối tượng đề cập đến các mảng hoặc đối tượng khác, tức là các giá trị của nó là mảng hoặc đối tượng.Các cấu trúc như vậy có thể được truy cập bằng cách áp dụng liên tiếp ký hiệu dấu chấm hoặc khung.Dưới đây là một ví dụ: const data = {code: 42, các mục: [{id: 1, tên: 'foo'}, {id: 2, name: 'Bar'}]};consecutively applying dot or bracket notation. Here is an example: const data = { code: 42, items: [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }] };

Làm thế nào để bạn chọn một chỉ mục của một mảng?

Để chỉ định các chỉ mục, hãy nhập một giá trị trong trường Mảng đầu vào của trang thuộc tính Cardinality cho phép biến đổi.Các chỉ mục là dựa trên 1, có nghĩa là phần tử đầu tiên của mảng được gọi là 1, phần tử thứ hai là 2, v.v.enter a value in the Input array indexes field of the Cardinality properties page for the transform. The indexes are 1-based, which means that the first element of the array is referenced as 1, the second element as 2, and so on.