找到 9301 篇文章 关于面向对象编程
749 次浏览
假设我们有一个包含一些水果和蔬菜数据的对象数组,如下所示 -const arr = [ {food: 'apple', type: 'fruit'}, {food: 'potato', type: 'vegetable'}, {food: 'banana', type: 'fruit'}, ];我们需要编写一个 JavaScript 函数,它接收一个这样的数组。我们的函数应该根据对象的“type”属性对数组对象进行分组。这意味着所有“fruit”类型的对象都分组在一起,而“vegetable”类型的对象则单独分组。示例此代码将为 -const arr = [ {food: 'apple', type: 'fruit'}, {food: 'potato', type: ... 阅读更多
524 次浏览
我们需要编写一个 JavaScript 函数,它接收一个字符串数组。我们的函数应该遍历数组,并找到并返回数组中最长的字符串。我们的函数应该在不更改输入数组内容的情况下执行此操作。示例此代码将为 -const arr = ["aaaa", "aa", "aa", "aaaaa", "acc", "aaaaaaaa"]; const findLargest = (arr = []) => { if(!arr?.length){ return ''; }; let res = ''; res = arr.reduce((acc, val) => { return acc.length >= val.length ? acc : val; }); return res; }; console.log(findLargest(arr));输出控制台中的输出将为 -aaaaaaaa
229 次浏览
我们需要编写一个 JavaScript 函数,它接收一个数字数组。该数组可能在其内部包含一些重复/重复的条目。我们的函数应该将所有重复的条目加起来,并返回由此形成的新数组。示例此代码将为 -const arr = [20, 20, 20, 10, 10, 5, 1]; const sumIdentical = (arr = []) => { let map = {}; for (let i = 0; i < arr.length; i++) { let el = arr[i]; map[el] = map[el] ? map[el] + 1 : 1; }; const res = []; for (let count in map) { res.push(map[count] * count); }; return res; }; console.log(sumIdentical(arr));输出控制台中的输出将为 -[ 1, 5, 20, 60 ]
199 次浏览
假设我们有一个这样的对象数组 -const arr = [ { region: "Africa", fruit: "Orange", user: "Gary" }, { region: "Africa", fruit: "Apple", user: "Steve" }, { region: "Europe", fruit: "Orange", user: "John" }, { region: "Europe", fruit: "Apple", user: "bob" }, { region: "Asia", fruit: "Orange", user: "Ian" }, { region: "Asia", fruit: "Apple", user: "Angelo" }, { region: "Africa", fruit: "Orange", user: "Gary" } ];我们需要编写一个 JavaScript 函数,它接收一个这样的数组。该函数应准备一个新的对象数组,... 阅读更多
683 次浏览
假设我们有以下数组数组 -const arr = [ [ ['dog', 'Harry'], ['age', 2] ], [ ['dog', 'Roger'], ['age', 5] ] ];我们需要编写一个 JavaScript 函数,它接收一个这样的嵌套数组。然后,该函数应根据数组准备一个对象。上面数组的对象应如下所示 -const output = [ {dog: 'Harry', age: 2}, {dog: 'Roger', age: 5} ];示例此代码将为 -const arr = [ [ ['dog', 'Harry'], ['age', ... 阅读更多
357 次浏览
我们需要编写一个 JavaScript 函数,它接收一个文字值数组。然后,该函数应计算输入数组中每个元素的频率,并在此基础上准备一个新数组。例如 - 如果输入数组为 -const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];那么输出应为 -const output = [ [5, 3], [2, 5], [9, 1], [4, 1] ];示例此代码将为 -const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; const frequencyArray = (arr = []) => { const res = []; arr.forEach(el => { if (!this[el]) { this[el] = [el, 0]; res.push(this[el]) }; this[el][1] ++ }, {}); return res; }; console.log(frequencyArray(arr));输出控制台中的输出将为 -[ [ 5, 3 ], [ 2, 5 ], [ 9, 1 ], [ 4, 1 ] ]
825 次浏览
假设我们有一个对对象的引用 -let test = {};这个对象可能会(但不是立即)拥有嵌套对象,类似于 -test = {level1: {level2: {level3: "level3"}}};我们需要编写一个 JavaScript 函数,它接收一个这样的对象作为第一个参数,然后接收任意数量的键字符串作为后续参数。该函数应确定键字符串所描绘的嵌套组合是否存在于对象中。示例此代码将为 -const checkNested = function(obj = {}){ const args = Array.prototype.slice.call(arguments, 1); for (let i = 0; i < args.length; ... 阅读更多