找到 9301 篇文章 关于面向对象编程
359 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个字符串字面量数组作为输入。该函数应该执行以下两件事:- 使用递归方法 - 将每个字符串元素的第一个单词大写。我们的函数应该在不使用额外空间存储另一个数组的情况下执行此操作。例如:如果输入数组是:const arr = ['apple', 'banana', 'orange', 'grapes'];则数组应转换为:const output = ['Apple', 'Banana', 'Orange', 'Grapes'];示例此代码将是:const arr = ['apple', 'banana', 'orange', 'grapes']; const capitalize = (arr = [], ind = 0) => { const helper ... 阅读更多
692 次浏览
假设我们有两个长度相同的字面量数组,如下所示:const arr1 = ['firstName', 'lastName', 'age', 'address', 'isEmployed']; const arr2 = ['Rahul', 'Sharma', 23, 'Tilak Nagar', false];我们需要编写一个 JavaScript 函数,该函数接收这两个数组作为输入。该函数应该构建一个对象,将第二个数组的元素映射到第一个数组的对应元素。我们将使用 Array.prototype.reduce() 方法迭代数组,构建对象。示例此代码将是:const arr1 = ['firstName', 'lastName', 'age', 'address', 'isEmployed']; const arr2 = ['Rahul', 'Sharma', 23, 'Tilak Nagar', false]; const mapArrays = ... 阅读更多
484 次浏览
我们需要编写一个 JavaScript 函数,该函数只接收一个字符串作为输入。该函数应该根据输入字符串构建一个新字符串,其中所有元音都应大写,并将每个字母更改为对应的下一个字母。例如:如果输入字符串是:const str = 'newString';因此,上述输入的输出应如下所示:const output = 'oExSusIoh';示例此代码将是:const str = 'newString'; const capitiliseAndMove = (str = '') => { let s = ''; s = str.replace(/[a−z]/g, function(c) { ... 阅读更多
205 次浏览
我们需要编写一个 JavaScript 函数,该函数只接收一个字母作为输入。该函数应该计算该字母从起始位置的字母位置,并返回位于相同位置但从后开始的字母。示例此代码将是:const alpha = 'g'; const findCounterPart = (alpha = '') => { let alphabet = 'abcdefghijklmnopqrstuvwxyz'; let firstpart = alphabet.substring(0, 13).split(''); let secondpart = alphabet.substring(13).split('').reverse(); let solution = ''; if (firstpart.indexOf(alpha) !== −1) { solution = secondpart[firstpart.indexOf(alpha)]; } else { ... 阅读更多
177 次浏览
假设我们给出了映射 a = 1,b = 2,... z = 26 和一条编码消息。我们需要编写一个 JavaScript 函数来接收该消息。该函数应该计算可以解码它的方法数量。例如,消息“111”将给出 3,因为它可以解码为“aaa”、“ka”和“ak”。示例此代码将是:const waysToProcess = ( message, ways = 0 ) => { if ( message.length ) { ways = waysToProcess( message.slice( 1 ,message.length), ways ); const numCurr = ... 阅读更多
1K+ 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个介于 [0, 25](包括两者)范围内的数字。返回值该函数应该返回该数字对应的字母。示例此代码将是:const num = 15; const indexToAlpha = (num = 1) => { // 第一个字符的 ASCII 值 const A = 'A'.charCodeAt(0); let numberToCharacter = number => { return String.fromCharCode(A + number); }; return numberToCharacter(num); }; console.log(indexToAlpha(num));输出控制台中的输出将是:P
239 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个整数数组作为输入。利用递归以及数组的 push 和 pop 方法,该函数应该对数组进行就地排序。示例此代码将是:const stack = [−3, 14, 18, −5, 30]; const sortStack = (stack = []) => { if (stack.length > 0) { let t = stack.pop(); sortStack(stack); sortedInsert(stack, t); }; } const sortedInsert = (stack, e) => { if (stack.length == 0 || e > stack[stack.length − 1]) { stack.push(e); } else { let x = stack.pop(); sortedInsert(stack, e); stack.push(x); } } sortStack(stack); console.log(stack);输出控制台中的输出将是:[ −5, −3, 14, 18, 30 ]
1K+ 次浏览
我们需要使用 JavaScript 中的堆栈制作一个带有 RPN(逆波兰表示法)输入方法的计算器。考虑以下输入数组:const arr = [1, 5, '+', 6, 3, '-', '/', 7, '*'];过程- 1 是一个操作数,推入堆栈。- 5 是一个操作数,推入堆栈。- '+' 是一个运算符,弹出 1 和 5,计算它们并将结果推入堆栈。- 6 是一个操作数,推入堆栈。- 3 是一个操作数,推入堆栈。- '−' 是一个运算符,弹出 6 和 3,减去它们并将结果推入堆栈。- '/' 是一个运算符,弹出 6 和 3,除以它们并将结果推入…… 阅读更多
178 次浏览
堆排序(Heap Sort) 是一种基于比较的排序算法。可以将其理解为一种改进的选择排序——与该算法类似,它将输入分成已排序区域和未排序区域,并通过提取目标元素(最大或最小元素)并将其移动到已排序区域来迭代地缩小未排序区域。示例代码如下:const constructHeap = (arr, ind) => { let left = 2 * ind + 1; let right = 2 * ind + 2; let max = ind; if (left < len && arr[left] > arr[max]) { ... 阅读更多