108 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个长度为 N 的数字数组(N 应为偶数),并将数组分成两个包含 N/2 个元素的子数组(左和右),然后对子数组求和,再将两个子数组的和相乘。例如:如果输入数组为 −const arr = [1, 2, 3, 4] 则输出应为 −(2+1) * (3+4) = 21 示例 以下是代码 −const arr = [1, 2, 3, 4] const subArrayProduct = arr => { const { length: l } = arr; const creds = arr.reduce((acc, ... 阅读更多
409 次浏览
我们需要编写一个 JavaScript 函数,该函数接收这样的数组并计算数组中所有不同元素的和。例如:假设我们有一个这样的数字数组 −const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1];上述数组的输出将为 20。示例以下是代码 −const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1]; const distinctSum = arr => { let res = 0; for(let i = 0; i < arr.length; i++){ if(i === arr.lastIndexOf(arr[i])){ res += arr[i]; }; continue; }; return res; }; console.log(distinctSum(arr));输出控制台中的输出如下 −30
112 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个数字并检查它是否属于斐波那契数列。我们应该返回一个布尔值。以下是检查斐波那契数列的代码 −示例const num = 89; const isFib = query => { if(query === 0 || query === 1){ return true; } let prev = 1; let count = 2; let temp = 0; while(count
474 次浏览
假设我们有一个这样的排序文字数组 −const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9];我们需要编写一个 JavaScript 函数,该函数接收这样的数组并返回数组中只出现一次的第一个数字。如果数组中没有这样的数字,我们应该返回 false。对于这个数组,输出应该是 6 示例以下是代码 −const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9]; const firstNonDuplicate = arr => { let appeared = false; for(let i ... 阅读更多
382 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个数字 n,我们需要检查是否存在三个连续的自然数(非十进制/浮点数)的和等于 n。如果存在这样的数字,我们的函数应该返回它们,否则应该返回 false。以下是代码 −示例const sum = 54; const threeConsecutiveSum = sum => { if(sum < 6 || sum % 3 !== 0){ return false; } // 三个数字的形式将为: // x + x + 1 + x ... 阅读更多
275 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个小写字符串并按反向顺序排序,即 b 应该在 a 之前,c 在 b 之前,依此类推。例如:如果输入字符串为 −const str = "hello";则输出应为 −const output = "ollhe";示例以下是代码 −const string = 'hello'; const sorter = (a, b) => { const legend = [-1, 0, 1]; return legend[+(a < b)]; } const reverseSort = str => { const strArr = str.split(""); return strArr .sort(sorter) .join(""); }; console.log(reverseSort(string));输出控制台中的输出如下 −ollhe
96 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个数字,用该数字的第一位和最后一位构造一个新数字,并返回原始数字与构造的数字之间的差值。例如:如果输入为 34567 则角数字将为 −37 并且输出将为 −34530 示例以下是代码 −const num = 34567; const cornerDifference = num => { let temp = Math.abs(num); let corner = temp % 10; if(temp < 100){ corner = temp; }else{ while(temp >= 10){ ... 阅读更多
113 次浏览
假设我们有一个这样的数字数组 −const arr = [3, 5, 5, 23, 3, 5, 6, 43, 23, 7];我们需要编写一个函数,该函数接收这样的数组并构造另一个数组,其元素是输入数组中连续元素之间的差值。对于这个数组,输出将为 −const output = [-2, 0, -18, 20, -2, -1, -37, 20, 16];示例以下是代码 −const arr = [3, 5, 5, 23, 3, 5, 6, 43, 23, 7]; const consecutiveDifference = arr => { const res = []; for(let i = 0; ... 阅读更多
2K+ 次浏览
假设我们有一个这样的二维数组,它表示一个方阵 −const arr = [ [1, 3, 4, 2], [4, 5, 3, 5], [5, 2, 6, 4], [8, 2, 9, 3] ];我们需要编写一个函数,该函数接收这个数组并返回矩阵主对角线上元素的乘积。对于这个数组,主对角线上的元素为 −1、5、6、3 因此输出应为 −90 示例以下是代码 −const arr = [ [1, 3, 4, 2], [4, 5, 3, 5], ... 阅读更多
895 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个包含一些重复两次的单词的字符串,我们需要计算这些单词的数量。例如 −如果输入字符串为 −const str = "car bus jeep car jeep bus motorbike truck";则输出应为 −3 示例以下是代码 −const str = "car bus jeep car jeep bus motorbike truck"; const countRepetitive = str => { const strArr = str.split(" "); let count = 0; for(let i = 0; i < strArr.length; i++){ if(i === strArr.lastIndexOf(strArr[i])){ continue; ... 阅读更多