[js] Проблема с массивами. 
		
		
		
		Доброе время суток! 
	Нужна функция getLocation, которая будет принимать массив начальных координат coordinates (в виде [x, y]), массив истории команд роботу commands и возвращать массив конечных координат робота в том же виде ( [x, y]) Напомню возможные команды роботу: "forward" - прямо x + 0, y + 1, "back" - назад x + 0, y - 1, "right" - направо x + 1, y + 0, "left" - налево x - 1, y + 0, Примеры: getLocation([0, 0], ['forward', 'right']) === [1, 1] getLocation([2, 3], ['back', 'back', 'back', 'right']) === [3, 0] getLocation([0, 5], ['back', 'back', 'back', 'right', 'left', 'forward']) === [0, 3] Вот кусок программы, идеи кочились((((:-? function getLocation(coordinates, commands) { var arr =[0,0]; var arr1 = coordinates; var arr2=[0,0]; for(var i = 0; i < commands.length; i++){ switch(commands[i]){ case 'forward': arr2 =[0,1]; for(var i = 0; i < arr2.length; i++) { arr.push(arr1[i]+arr2[i]); arr.shift(); } return arr; case 'back': arr2 =[0,-1]; for(var i = 0; i < arr2.length; i++) { arr.push(arr1[i]+arr2[i]); arr.shift(); } return arr; case 'right': arr2 =[1,0]; for(var i = 0; i < arr2.length; i++) { arr.push(arr1[i]+arr2[i]); arr.shift(); } return arr; case 'left': arr2 =[-1,0]; for(var i = 0; i < arr2.length; i++) { arr.push(arr1[i]+arr2[i]); arr.shift(); } return arr; } } }  | 
	
		
 Либо у вас все слишком сложно, либо я чего то не понял. 
	А почему не так 
function getLocation(coordinates, commands) {
	const arr =[...coordinates];
	for(let i = 0; i < commands.length; i++){
		switch(commands[i]){
			case 'forward': arr[1]++; break;
			case 'back': arr[1]--; break;
			case 'right': arr[0]++; break;
			case 'left': arr[0]--; break;
		}
	}
	return arr;
}
console.log( getLocation([0, 0], ['forward', 'right']) ); 
console.log( getLocation([2, 3], ['back', 'back', 'back', 'right']) );
console.log( getLocation([0, 5], ['back', 'back', 'back', 'right', 'left', 'forward']) );
 | 
	
		
 
function getLocation(coordinates, commands) {
  var arr = coordinates.slice();
  commands.forEach(cmd => {
    arr[0] += cmd === 'left' ? -1 : cmd === 'right' ? 1 : 0
    arr[1] += cmd === 'back' ? -1 : cmd === 'forward' ? 1 : 0
  })
  return arr;
}
 | 
	
		
 Спасибо за помощь! 
	 | 
	
		
 Нет у меня сложно :lol: 
	 | 
| Часовой пояс GMT +3, время: 13:40. |