JavaScript(JS) 是一种多才多艺的编程语言,在面试中经常出现一些具有挑战性的编码问题。在这篇博客文章中,我们将探讨一些用 JavaScript 编写的编码面试问题,并揭示它们的解决方案。让我们开始吧!
- 问题:编写一个函数,反转给定的字符串。
function reverseString(str) {
return str.split('').reverse().join('');
}
console.log(reverseString('Hello'));
// 输出:'olleH'
2. 问题:编写一个函数,找出句子中最长的单词。
function findLongestWord(sentence) {
const words = sentence.split(' ');
let longestWord = '';
for (let i = 0; i < words.length; i++) {
if (words[i].length > longestWord.length) {
longestWord = words[i];
}
}
return longestWord;
}
console.log(findLongestWord('The quick brown fox jumps over the lazy dog'));
// 输出:'quick'
3. 问题:编写一个函数,从数组中移除重复的元素。
function removeDuplicates(arr) {
return [...new Set(arr)];
}
console.log(removeDuplicates([1, 2, 2, 3, 4, 4, 5]));
// 输出:[1, 2, 3, 4, 5]
4. 问题:给定一个包含从 1 到 N 的数字的数组,其中一个数字缺失,找出缺失的数字。
function findMissingNumber(arr) {
const n = arr.length + 1;
const sum = (n * (n + 1)) / 2;
const arrSum = arr.reduce((acc, curr) => acc + curr, 0);
return sum - arrSum;
}
console.log(findMissingNumber([1, 2, 3, 5]));
// 输出:4
5. 问题:编写一个函数,检查给定的字符串是否是回文。
function isPalindrome(str) {
const reversedStr = str.split('').reverse().join('');
return str === reversedStr;
}
console.log(isPalindrome('level'));
// 输出:true
上面提供的例子涵盖了一系列挑战,包括字符串操作、数组操作和逻辑推理。通过练习这些问题并理解其中的基本概念,你将更好地准备好应对编码面试中类似的挑战。祝你在 JavaScript 面试中好运!
本文含有隐藏内容,请 开通VIP 后查看