88 lines
2.2 KiB
Markdown
88 lines
2.2 KiB
Markdown
---
|
||
title: For...Of Loop
|
||
localeTitle: Для ... цикла
|
||
---
|
||
Оператор `for...of` создает цикл, повторяющийся по итерируемым объектам (включая объект Array, Map, Set, Arguments и т. Д.), Вызывая пользовательский крючок итерации с операторами, которые будут выполняться для значения каждого отдельного свойства.
|
||
|
||
```javascript
|
||
for (variable of object) {
|
||
statement
|
||
}
|
||
```
|
||
|
||
| | Описание | | ---------- | ------------------------------------- | | переменная | На каждой итерации переменной присваивается значение другого свойства. | | объект | Объект, перечислимые свойства которого повторяются. |
|
||
|
||
## Примеры
|
||
|
||
### массив
|
||
|
||
```javascript
|
||
let arr = [ "fred", "tom", "bob" ];
|
||
|
||
for (let i of arr) {
|
||
console.log(i);
|
||
}
|
||
|
||
// Output:
|
||
// fred
|
||
// tom
|
||
// bob
|
||
```
|
||
|
||
### карта
|
||
|
||
```javascript
|
||
var m = new Map();
|
||
m.set(1, "black");
|
||
m.set(2, "red");
|
||
|
||
for (var n of m) {
|
||
console.log(n);
|
||
}
|
||
|
||
// Output:
|
||
// 1,black
|
||
// 2,red
|
||
```
|
||
|
||
### Задавать
|
||
|
||
```javascript
|
||
var s = new Set();
|
||
s.add(1);
|
||
s.add("red");
|
||
|
||
for (var n of s) {
|
||
console.log(n);
|
||
}
|
||
|
||
// Output:
|
||
// 1
|
||
// red
|
||
```
|
||
|
||
### Аргумент объекта
|
||
|
||
```javascript
|
||
// your browser must support for..of loop
|
||
// and let-scoped variables in for loops
|
||
|
||
function displayArgumentsObject() {
|
||
for (let n of arguments) {
|
||
console.log(n);
|
||
}
|
||
}
|
||
|
||
|
||
displayArgumentsObject(1, 'red');
|
||
|
||
// Output:
|
||
// 1
|
||
// red
|
||
```
|
||
|
||
# Другие источники:
|
||
|
||
* [Ссылка MDN](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for…of)
|
||
* [Ссылка MSDN](https://msdn.microsoft.com/library/dn858238%28v=vs.94%29.aspx?f=255&MSPPError=-2147217396)
|
||
* [arguments @@ iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/@@iterator) |