我们需要编写JavaScript函数,它在单个字符,ARR阵列,作为第一和唯一的参数。
该数组只能包含 4 个字符,它们是 -
“N”→代表北方向
“S”→代表南北方向
“W”→代表西方向
“E”→代表东方向
每个字符指定部的距离在该特定方向上的移动。如果数组,两个相反的方向,[(“S”和“N”)或(“E”和“W”)]中的任何位置出现相邻,它们抵消彼此的运动。因此,我们的功能应该找到导致整个阵列的运动方向。
例如,如果函数的输入是 -
const arr = ['N', 'S', 'S', 'E', 'W', 'N', 'W'];
那么输出应该是 -
const output = 'W';
“N”和“S”将相互抵消“E”和“W”相互抵消,最后“N”和“S”再次取消对方留下唯一的“W”。
以下是代码 -
const arr = ['N', 'S', 'S', 'E', 'W', 'N', 'W']; const cancelDirections = (arr = []) => { let str = arr.join(''); while(str.includes('NS') || str.includes('SN') || str.includes('EW') || str.includes('WE')){ str = str.replace('NS', ''); str = str.replace('SN', ''); str = str.replace('EW', ''); str = str.replace('WE', ''); }; return str.split(''); }; console.log(cancelDirections(arr));输出结果
以下是控制台输出 -
['W']