Показать сообщение отдельно
  #16 (permalink)  
Старый 13.03.2015, 00:03
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

ага. Там вся прелесть раскрывается, когда в es6 его используешь:

1) нужно, чтобы браузер поддерживал for...of, Symbol.iterator (работает в последних версиях браузеров)
<script src="http://nervgh.github.io/js/recursive-iterator.min.js"></script>
<script>
var mazePacman1 = [
    [1, 2, 3, 4, 5],
    [2, 1, 4, 5, 5]
];

// item = state.value
for(var item of new RecursiveIterator(mazePacman1)) {
    if (item.node === 2) item.parent[item.key] = 90;
}


alert(JSON.stringify(mazePacman1));
</script>


2) нужно, чтобы браузер поддерживал for...of, Symbol.iterator, деструктивное присваивание
<script src="http://nervgh.github.io/js/recursive-iterator.min.js"></script>
<script>
var mazePacman1 = [
    [1, 2, 3, 4, 5],
    [2, 1, 4, 5, 5]
];


for(var {parent, node, key} of new RecursiveIterator(mazePacman1)) {
    if (node === 2) parent[key] = 90;
}


alert(JSON.stringify(mazePacman1));
</script>


http://kangax.github.io/compat-table/es6/
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием