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) |