找到关于面向对象编程的9301 篇文章

查找最长可能回文串的长度 JavaScript

AmitDiwan
更新于 2020年11月21日 05:54:14

349 次浏览

给定一个字符串 s,其中包含小写字母或大写字母,我们需要返回可以使用这些字母构建的最长回文串的长度。字母区分大小写,例如,“Aa”在这里不被认为是回文串。例如 -如果输入字符串是 -const str = "abccccdd";则输出应为 7,因为可以构建的最长回文串之一是“dccaccd”,其长度为 7。示例const str = "abccccdd"; const longestPalindrome = (str) => {    const set = new Set();    let count = 0;    for (const char of str) {     ... 阅读更多

在不使用 Math.sqrt() 的情况下查找非负数的平方根 JavaScript

AmitDiwan
更新于 2020年11月21日 05:52:47

289 次浏览

我们需要编写一个 JavaScript 函数,它接收一个非负整数作为输入,并计算并返回其平方根。我们可以将浮点数向下取整为整数。例如:对于数字 15,我们不需要返回精确值,我们可以只返回最接近的较小整数值 3,对于 15 的情况我们将使用二分查找算法来计算给定数字的平方根。代码如下 -示例const squareRoot = (num = 1) => {    let l = 0; let r = ... 阅读更多

反转字符串中的元音 JavaScript

AmitDiwan
更新于 2020年11月21日 05:51:39

324 次浏览

我们需要编写一个 JavaScript 函数,该函数接收一个字符串作为输入,并仅反转字符串的元音。例如 -如果输入字符串是 -const str = 'Hello';则输出应为 -const output = 'Holle';代码如下 -const str = 'Hello'; const reverseVowels = (str = '') => {    const vowels = new Set(['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']);    let left = 0, right = str.length-1;    let foundLeft = false, foundRight = false;    str = str.split(""); while(left < right){       if(vowels.has(str[left])){   ... 阅读更多

JavaScript 分组数组 - 查找可以使用定义的边到达的数字集合

AmitDiwan
更新于 2020年11月21日 05:49:44

71 次浏览

考虑以下输入和输出数组 -const input = ["0:3", "1:3", "4:5", "5:6", "6:8"]; const output = [    [0, 1, 3],    [4, 5, 6, 8] ];将每个数字视为图中的一个节点,并将每个配对 x:y 视为节点 x 和 y 之间的边,我们需要找到可以使用定义的边到达的数字集合。也就是说,用图论术语来说,找到此类图中不同的连通分量。例如,在上面的数组中,无法从 4 到达 0,因此它们是 ... 阅读更多

JavaScript 函数,它接收一个多维数组和一个单一数组,并在多维数组中查找单一数组的匹配项

AmitDiwan
更新于 2020年11月21日 05:47:48

89 次浏览

我们需要编写一个 JavaScript 函数,它接收数组的数组(数字)作为第一个参数,并接收数字数组作为第二个参数。该函数应从第一个数组的每个数组中挑选一个子数组(包含第二个数组和第一个数组的相应数组都共有的项的子数组)。例如 -如果输入是 -示例const arr1 = [ [1, 2, 5, 6], [5, 13, 7, 8], [9, 11, 13, 15], [13, 14, 15, 16], [1, 9, 11, 12] ]; const arr2 = [9, 11, 13, 15, 1, 2, 5, ... 阅读更多

如何使用 JavaScript 查找并返回数组中重复数字的最长序列

AmitDiwan
更新于 2020年11月21日 05:45:29

538 次浏览

我们需要编写一个 JavaScript 函数,它接收一个可能包含一些重复元素的数字数组作为输入。该函数应返回数组中最长重复数字序列的长度。例如 -如果输入数组是 -const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];则输出应为 3,因为数字 2 在数组中连续重复了 3 次(这是最高次数)。示例const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1]; const findLongestSequence = (arr = []) => {    const res ... 阅读更多

根据另一个数组排序数组 JavaScript

AmitDiwan
更新于 2020年11月21日 05:44:03

338 次浏览

假设我们有两个这样的数组 -const input = ['S-1', 'S-2', 'S-3', 'S-4', 'S-5', 'S-6', 'S-7', 'S-8']; const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"];我们需要编写一个 JavaScript 函数,它分别将这两个数组作为第一个和第二个参数接收。该函数应根据它们在第二个数组中的位置对第一个数组的元素进行排序。代码如下 -示例const input = ['S-1', 'S-2', 'S-3', 'S-4', 'S-5', 'S-6', 'S-7', 'S-8']; const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"]; const sortByReference = (arr1 = [], arr2 = ... 阅读更多

使用递归将 JSON 转换为另一种 JSON 格式 JavaScript

AmitDiwan
更新于 2020年11月21日 05:42:20

1K+ 次浏览

假设我们有以下 JSON 对象 -const obj = {    "context": {       "device": {          "localeCountryCode": "AX",          "datetime": "3047-09-29T07:09:52.498Z"       },       "currentLocation": {          "country": "KM",          "lon": -78789486,       }    } };我们需要编写一个 JavaScript 递归函数,它最初接收一个这样的数组。该函数应将上述对象拆分为“标签” - “子项”格式。因此,上述对象的输出应如下所示 -const output = {   ... 阅读更多

深度搜索 JSON 对象 JavaScript

AmitDiwan
更新于 2020年11月21日 05:38:35

6K+ 次浏览

假设我们有以下嵌套 JSON 对象 -const obj = {    id: 1,    title: 'hello world',    child: {       id: null,       title: 'foobar',       child: {          id: null,          title: 'i should be in results array '       }    },    foo: {       id: null,       title: 'i should be in results array too!' },       deep: [       {          id: null,         ... 阅读更多

减少 JavaScript 中的数组

AmitDiwan
更新于 2020年11月20日 13:52:56

163 次浏览

假设我们有一个这样的对象数组 -const arr = [    {"time":"18:00:00"},    {"time":"10:00:00"},    {"time":"16:30:00"} ];我们需要编写一个 JavaScript 函数,它接收一个这样的数组并执行以下操作 -从 json 代码中提取时间:所以:18:00:00、10:00:00、16:30:00将时间转换为: [18,0]、[10,0]、[16,30]将其放入数组中。返回最终数组。示例代码如下 -const arr = [    {"time":"18:00:00"},    {"time":"10:00:00"},    {"time":"16:30:00"} ]; const reduceArray = (arr = []) => {    let res = [];    res = arr.map(obj => {       return obj['time'].split(':').slice(0, 2).map(el => {          return +el;       });    });    return res; }; console.log(reduceArray(arr));输出控制台中的输出将是 -[ [ 18, 0 ], [ 10, 0 ], [ 16, 30 ] ]

广告