gpt4 book ai didi

javascript - 将连续数字分组为 JavaScript 数组中的 "from~to"字符串

转载 作者:行者123 更新时间:2023-12-03 20:51:07 36 4
gpt4 key购买 nike

我有一个数组。

var myArray = [1, 2, 3, 5, 8, 9, 10];

并且我想将它们分组为具有 from~to 格式的字符串,直到下一个值与前一个值不连续,如下例所示。

var outputArray = ["1~3", "5", "8~10"];

怎么做?

最佳答案

您可以使用索引来检查第一个元素是否需要一个新数组或者值是否按顺序排列,从而采取稍微更短的方法。

对于第二个映射,您可以只连接所有元素。

function group(numbers) {
return numbers
.reduce((result, value, index, array) => {
if (!index || array[index - 1] + 1 !== value) {
result.push([value]);
} else {
result[result.length - 1][1] = value;
}
return result;
}, [])
.map(array => array.join('~'));
}

console.log(group([1, 2, 3, 5, 8, 9, 10]));

关于javascript - 将连续数字分组为 JavaScript 数组中的 "from~to"字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59503601/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com