在 JavaScript 中以 HH:MM:SS 表示秒
问题
我们需要编写一个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']