根据JavaScript中当前元素与先前元素之间的差异对已排序的数组进行分组
假设我们有一个整数数组,以这样的升序排序-
const arr = [ 1, 2, 3, 5, 6, 7, 10, 12, 17, 18];
我们需要编写一个包含一个这样的数组的JavaScript函数。该函数应以以下方式对数组进行分组,以便-
组中的元素相差1或更小
每个组元素应具有多个元素,才能被视为有效
根据上述条件,预期输出为-
const output = [ [1, 2, 3], [5, 6, 7], [17, 18] ];
示例
为此的代码将是-
const arr = [ 1, 2, 3, 5, 6, 7, 10, 12, 17, 18];
const groupNear = (arr = []) => {
const res = [];
for (let ind = 0; ind < arr.length; ind++) {
let value = arr[ind];
if (arr[ind − 1] + 1 === value) {
res[res.length − 1].push(value);
} else if (value + 1 === arr[ind + 1]) {
res.push([value]);
};
};
return res;
};
console.log(groupNear(arr));输出结果
控制台中的输出将是-
[ [ 1, 2, 3 ], [ 5, 6, 7 ], [ 17, 18 ] ]
热门推荐
1 合字的祝福语简短
10 成长仪式的简短祝福语
11 生日祝福语大全女生简短
12 写给男生简短的祝福语
13 生日祝福语祝长辈简短
14 新年祝福语长篇文案简短
15 爱情贺卡祝福语简短英语
16 亲戚生日红包祝福语简短
17 订婚新发言简短祝福语
18 雪后早晨简短的祝福语