某套连招动作记作仅由小写字母组成的序列 arr,其中 arr[i] 第 i 个招式的名字。请返回第一个只出现一次的招式名称,如不存在请返回空格。
function firstUniqueMove(arr) {
const moveCount = {}; // 用于存储每个招式出现的次数
// 遍历数组,统计每个招式出现的次数
for (const move of arr) {
moveCount[move] = (moveCount[move] || 0) + 1;
}
// 遍历数组,找到第一个出现次数为 1 的招式
for (const move of arr) {
if (moveCount[move] === 1) {
return move;
}
}
// 如果没有只出现一次的招式,返回空格
return ' ';
}
// 示例
const moves = ['a', 'b', 'c', 'a', 'b', 'd'];
const result = firstUniqueMove(moves);
console.log(result); // 输出 'c'
这个函数首先创建一个对象 moveCount
来存储每个招式出现的次数。然后,它遍历输入的招式数组,并更新每个招式的出现次数。最后,再次遍历数组,找到第一个出现次数为 1 的招式并返回。如果没有只出现一次的招式,则返回空格。