【总结】1637( 二 )


请在中编写您的解决方案,并确保您的函数通过了以上所有测试 。
非常聪明,不仅分析了我们答案的准确性,还顺便给出了在一道题目 。
第二题
我的回答:
function factorial(num) {// 如果数字为 0 或 1,则阶乘为 1if (num === 0 || num === 1) {return 1;} else {// 否则,使用递归计算阶乘return num * factorial(num - 1);}}

【总结】1637

文章插图
非常好,您的解决方案是正确的!您使用了递归的方法计算了阶乘,如果数字为 0 或 1,则函数返回 1 。否则,函数将调用自身以计算 num x (num-1) x (num-2) x ... x 2 x 1 的结果 。
接下来,我们将挑战您编写一个函数,该函数接受一个字符串,并返回该字符串中出现最频繁的字符 。例如,如果传递给函数的字符串是 "hello",则应该返回 "l",因为 "l" 在该字符串中出现了 2 次,而其他字符只出现了 1 次 。如果有多个字符出现的次数相同,则返回任何一个即可 。以下是该函数的测试:
console.log(mostFrequentChar("hello")); // "l"console.log(mostFrequentChar("JavaScript")); // "a"console.log(mostFrequentChar("Hello, world!")); // "l"
请在中编写您的解决方案,并确保您的函数通过了以上所有测试 。
第三题
我的回答:
function mostFrequentChar(str) {// 用对象存储每个字符出现的次数const charCounts = {};for (let char of str) {if (charCounts[char]) {charCounts[char]++;} else {charCounts[char] = 1;}}// 找到出现次数最多的字符let maxCount = 0;let mostFrequentChar = '';for (let char in charCounts) {if (charCounts[char] > maxCount) {maxCount = charCounts[char];mostFrequentChar = char;}}return mostFrequentChar;}

太好了,您的解决方案是正确的!您使用对象来存储每个字符出现的次数,然后遍历该对象以查找出现次数最多的字符 。在找到每个字符出现的次数之后,遍历对象,查找出现次数最多的字符并返回该字符 。
接下来,我们将挑战您编写一个函数,该函数将接受一个包含数字的数组,并返回一个新数组,其中只包含那些在原数组中出现一次的数字 。例如,如果传递给函数的数组是 [1, 2, 3, 2, 1, 4],则应该返回 [3, 4],因为 3 和 4 都只在原数组中出现了一次 。以下是该函数的测试:
console.log(findUnique([1, 2, 3, 2, 1, 4])); // [3, 4]console.log(findUnique([1, 2, 3, 3, 4, 4])); // [1, 2]console.log(findUnique([1, 2, 3, 4, 5, 6])); // [1, 2, 3, 4, 5, 6]
请在中编写您的解决方案,并确保您的函数通过了以上所有测试 。
第四题
我的回答:
function findUnique(arr) {// 用对象存储每个数字出现的次数const numCounts = {};for (let num of arr) {if (numCounts[num]) {numCounts[num]++;} else {numCounts[num] = 1;}}// 遍历数组,将只出现一次的数字存储在结果数组中const result = [];for (let num of arr) {if (numCounts[num] === 1) {result.push(num);}}return result;}

非常好!您正确地解决了此问题 。您使用对象存储了每个数字的出现次数,然后遍历了数组,将只出现一次的数字存储在结果数组中并返回该数组 。
接下来,让我们挑战您编写一个函数,该函数将接受一个字符串并返回该字符串中所有单词的字母顺序相反的字符串 。例如,如果传递给函数的字符串是 "hello world",则应该返回 "olleh dlrow" 。以下是该函数的测试:
console.log(reverseWords('hello world')); // 'olleh dlrow'console.log(reverseWords('JavaScript is awesome')); // 'tpircSavaJ si emosewa'