@dimkaholodov

Фрактал Дракон Хартера-Хейтуэя через forEach()?

Доброго времени суток. Столкнулся с задачей по представлению "драконовой ломаной" на простом js.
Собственно получилось вот что:
var right = 0;
var left = 1;
var dragon = [];
var revDragon = [];

// ITER 1

dragon.push(left);
console.log(dragon);

// ITER 2

dragon.push(left);
if ( dragon[0] == left ) {
	dragon.push(right);
}
console.log(dragon);

// ITER 3 TO N, WHERE N = 7

for ( j = 3; j < 7; j++ ) { 
	var tempDragon = dragon.concat();
	tempDragon.reverse();
	for ( var i = 0; i < tempDragon.length; i++ ) { 
		if ( tempDragon[i] == 0 ) {
		revDragon[i] = 1;
		} else revDragon[i] = 0;
	}
	dragon.push(left);
	dragon = dragon.concat(revDragon);
	console.log(dragon);
}


Вопрос заключается в следующем:
хотелось бы посмотреть как реализовать замену 1 на 0 или 0 на 1 через метод forEach() (мои попытки оказались безуспешными).

Заранее спасибо.

p.s. я не прошу решить задачу за меня, хотелось бы разобраться с данным методом, не совсем понимаю как это работает.
  • Вопрос задан
  • 297 просмотров
Решения вопроса 2
alvvi
@alvvi
export default apathy;
tempDragon.forEach((x, i) => {
  if(x == 0) {
    revDragon[i] = 1;
  } else {
    revDragon[i] = 0;
  }
});
Ответ написан
Комментировать
twobomb
@twobomb
tempDragon.forEach(function(el,i){
    revDragon[i] = 1-tempDragon[i];
  })
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы