Input: [1, 5, 3, 9, 2]Output: 9
讯享网
解决方案:
讯享网function findLargest(arr) {return Math.max(…arr);}console.log(findLargest([1, 5, 3, 9, 2])); // 9
2. 如何找到数组中的第二大数字?
给定一个数字数组,编写一个返回第二大数字的函数。
示例:
Input: [1, 5, 3, 9, 7]Output: 7
解决方案:
讯享网function secondLargest(arr) {let sorted = arr.sort((a, b) => b - a);return sorted[1];}console.log(secondLargest([1, 5, 3, 9, 7])); // 7
3. 如何从数组中删除重复项?
编写一个函数,接受一个数组并返回一个删除了重复项的新数组。
示例:

Input:Output:
解决方案:
讯享网function removeDuplicates(arr) {return […new Set(arr)];}console.log(removeDuplicates([1, 2, 2, 3, 4, 4, 5])); // [1, 2, 3, 4, 5]
4. 如何合并两个排序数组?
给定两个排序数组,编写一个函数将它们合并为一个排序数组。
示例:
Input: [1, 3, 5], [2, 4, 6]Output: [1, 2, 3, 4, 5, 6]
解决方案:
讯享网function mergeArrays(arr1, arr2) {return arr1.concat(arr2).sort((a, b) => a - b);}console.log(mergeArrays([1, 3, 5], [2, 4, 6])); // [1, 2, 3, 4, 5, 6]
5. 如何旋转数组?
编写一个函数将数组向右旋转 k 次。
示例:
Input: [1, 2, 3, 4, 5], k = 2Output: [4, 5, 1, 2, 3]
解决方案:

讯享网function rotateArray(arr, k) {k = k % arr.length; // Handle cases where k > array lengthreturn arr.slice(-k).concat(arr.slice(0, -k));}console.log(rotateArray([1, 2, 3, 4, 5], 2)); // [4, 5, 1, 2, 3]
6. 如何检查两个数组是否相等?
编写一个函数来检查两个数组是否相等。如果两个数组以相同的顺序包含相同的元素,则认为它们是相等的。
示例:
Input: [1, 2, 3], [1, 2, 3]Output: true
解决方案:
讯享网function arraysEqual(arr1, arr2) {if (arr1.length !== arr2.length) return false;for (let i = 0; i < arr1.length; i++) {if (arr1[i] !== arr2[i]) return false;}return true;}console.log(arraysEqual([1, 2, 3], [1, 2, 3])); // trueconsole.log(arraysEqual([1, 2, 3], [1, 2, 4])); // false
7. 如何找到数组中所有和为特定值的对?
给定一个整数数组和一个目标和,编写一个函数来查找数组中所有和为目标和的数字对。每对都应该是唯一的,并且对中数字的顺序无关紧要。
示例:
Input: [1, 2, 4, 3, 5, 7, 8, 9], Target = 10Output: [[3, 7], [2, 8], [1, 9]]
解决方案:
讯享网function findPairs(arr, target) {let result = [];let seen = new Set();for (let num of arr) {let complement = target - num;if (seen.has(complement)) {result.push([num, complement]);}seen.add(num);}return result;}console.log(findPairs([2, 4, 3, 5, 7, 8, 9], 10)); // [[7, 3], [8, 2], [9, 1]]
这些都是需要对数组操作和性能优化有更深入的了解,因此,这是一个更高级的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/184786.html