171 次浏览
假设,我们有两个这样的对象:const obj1 = { positive: ['happy', 'excited', 'joyful'], negative: ['depressed', 'sad', 'unhappy'] }; const obj2 = { happy: 6, excited: 1, unhappy: 3 };我们需要编写一个 JavaScript 函数,它接收两个这样的对象作为输入。该函数应该使用这两个对象计算积极和消极分数,并返回如下所示的对象:const output = {positive: 7, negative: 3};示例代码如下:const obj1 = { positive: ['happy', 'excited', 'joyful'], negative: ['depressed', 'sad', 'unhappy'] }; const obj2 = ... 阅读更多
286 次浏览
假设我们有一个这样的对象数组:const arr = [ {_id : "1", S : "2"}, {_id : "1", M : "4"}, {_id : "2", M : "1"}, {_id : "" , M : "1"}, {_id : "3", S : "3"} ];我们需要编写一个 JavaScript 函数,它接收这样一个数组作为输入,并将所有具有相同 '_id' 键值的对象分组在一起。因此,最终输出应如下所示:const output = [ {_id : "1", M : "4", S : "2", ... 阅读更多
2K+ 次浏览
给定一个包含五个正整数的数组,我们需要找到通过精确求和五个整数中的四个整数可以计算出的最小值和最大值。然后将相应的最小值和最大值作为以空格分隔的两行长整数打印出来。数组并非始终排序。例如:const arr = [1, 3, 5, 7, 9]最小和为:1 + 3 + 5 + 7 = 16最大和为:3 + 5 + 7 + 9 = 24函数的返回值应为:[16, 24];示例代码如下:const arr ... 阅读更多
118 次浏览
假设我们有一个表示数字的长字符串,如下所示:const str = '11222233344444445666';我们需要编写一个 JavaScript 函数,它接收这样一个字符串作为输入。我们的函数应该返回一个对象,该对象应为字符串中每个唯一数字分配一个唯一的“id”属性,以及另一个存储该数字出现次数的“count”属性。因此,对于上述字符串,输出应如下所示:const output = { '1': { id: '1', displayed: 2 }, '2': { id: '2', displayed: 4 }, ... 阅读更多
117 次浏览
我们需要编写一个 JavaScript 函数,它接收一个排序整数数组和目标平均值作为第一个和第二个参数。该函数应该确定数组中是否存在一对值的平均值等于目标平均值。有一个解决方案具有 O(1) 的额外空间复杂度和 O(n) 的时间复杂度。由于数组已排序,因此使用两个索引是有意义的:一个从头到尾(例如 y),另一个从数组的尾到头(例如 x)。示例代码如下:const arr = [1, 2, ... 阅读更多
612 次浏览
假设我们有一个如下所示的数组数组:const arr = [[12345, "product", "10"], [12345, "product", "15"], [1234567, "other", "10"]];我们应该编写一个函数,它接收这样一个数组作为输入。请注意,所有子数组都恰好包含三个元素。我们的函数应该过滤掉第一个元素具有重复值的子数组。此外,对于我们删除的子数组,我们应该将其第三个元素添加到其现有的非重复对应项中。因此,对于上述数组,输出应如下所示:const output = [[12345, "product", "25"], [1234567, "other", "10"]];示例代码如下:const ... 阅读更多
768 次浏览
我们需要编写一个 JavaScript 函数,它接收一个字符串数组作为输入。该函数应然后生成并返回数组字符串的所有可能组合。示例代码如下:const arr = ['a', 'b', 'c', 'd']; const permutations = (len, val, existing) => { if(len==0){ res.push(val); return; } for(let i=0; i { for(let i=0; i < arr.length; i++){ permutations(arr.length−i, "", []); } }; buildPermuations(arr); console.log(res);示例输出如下:[ 'abcd', 'abdc', 'acbd', 'acdb', 'adbc', ... 阅读更多
148 次浏览
考虑以下回溯问题:在一个二维网格上,有 4 种类型的方块:1 代表起始方块。只有一个起始方块。2 代表结束方块。只有一个结束方块。0 代表我们可以走过的空方块。-1 代表我们无法走过的障碍物。我们需要编写一个函数,它返回从起始方块到结束方块的 4 个方向的路径数,这些路径恰好遍历每个非障碍物方块一次。示例const arr = [ [1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 2, -1] ]; const uniquePaths ... 阅读更多
251 次浏览
我们需要编写一个执行以下操作的函数:获取整数数组作为参数(例如 [1, 2, 3, 4])创建 [1, 2, 3, 4] 的所有可能排列的数组,每个排列的长度为 4(即原始数组的长度)示例代码如下:const arr = [1, 2, 3, 4]; const permute = (arr = [], res = [], used = []) => { let i, ch; for (i = 0; i < arr.length; i++) { ch = arr.splice(i, 1)[0]; ... 阅读更多
583 次浏览
假设我们有一个包含用户点赞数据的对象数组,如下所示:const arr = [ {"user":"dan", "liked":"yes", "age":"22"}, {"user":"sarah", "liked":"no", "age":"21"}, {"user":"john", "liked":"yes", "age":"23"}, ];我们需要编写一个 JavaScript 函数,它接收这样一个数组作为输入。该函数应该基于此数组构造另一个数组,如下所示:const output = [ {"dan":"yes"}, {"sarah":"no"}, {"john":"yes"}, ];示例const arr = [ {"user":"dan", "liked":"yes", "age":"22"}, {"user":"sarah", "liked":"no", "age":"21"}, {"user":"john", "liked":"yes", "age":"23"}, ]; const mapToPair = (arr = []) => { const result = arr.map(obj => ... 阅读更多