--- title: Array.prototype.values() slug: Web/JavaScript/Reference/Global_Objects/Array/values translation_of: Web/JavaScript/Reference/Global_Objects/Array/values ---
Method values()
trả về một Array Iterator
object chứa các giá trị của mỗi index trong mảng.
arr.values()
Một object {{jsxref("Array")}} lặp lại mới.
var arr = ['a', 'b', 'c', 'd', 'e']; var iterator = arr.values(); for (let letter of iterator) { console.log(letter); } //"a" "b" "c" "d" "e"
Array.prototype.values là triển khai mặc định của Array.prototype[Symbol.iterator].
Array.prototype.values === Array.prototype[Symbol.iterator] //true
var arr = ['a', 'b', 'c', 'd', 'e']; var iterator = arr.values(); iterator.next(); // Object { value: "a", done: false } iterator.next().value; // "b" iterator.next()["value"]; // "c" iterator.next(); // Object { value: "d", done: false } iterator.next(); // Object { value: "e", done: false } iterator.next(); // Object { value: undefined, done: true } iteraror.next().value; // undefined
Sử dụng một lần: đối tượng trình lặp mảng là một đối tượng sử dụng một lần hoặc tạm thời
Ví dụ:
var arr = ['a', 'b', 'c', 'd', 'e']; var iterator = arr.values(); for (let letter of iterator) { console.log(letter); } //"a" "b" "c" "d" "e" for (let letter of iterator) { console.log(letter); } // undefined
Lý do: khi next().done=true
hoặc currentIndex>length
thì vòng lặp for..of
kết thúc. Xem tại Iteration protocols.
Giá trị: không có giá trị nào được lưu trữ trong object lặp mảng; thay vào đó, nó lưu trữ địa chỉ của mảng được sử dụng trong quá trình tạo của nó và do đó phụ thuộc vào các giá trị được lưu trữ trong mảng đó.
var arr = ['a', 'b', 'c', 'd', 'e']; var iterator = arr.values(); console.log(iterator); // Array Iterator { } iterator.next().value; // "a" arr[1]='n'; iterator.next().value; // "n"
nếu các giá trị trong mảng thay đổi thì các giá trị trong mảng lặp cũng thay đổi.
TODO: please write about why we need it, use cases.
Thông số kỹ thuật |
---|
{{SpecName('ESDraft', '#sec-array.prototype.values', 'Array.prototype.values')}} |
{{Compat("javascript.builtins.Array.values")}}