gpt4 book ai didi

javascript - 有没有一种简单的方法可以按范围对 js 数组值进行分组?

转载 作者:行者123 更新时间:2023-11-29 10:07:34 26 4
gpt4 key购买 nike

如果我有一个像下面这样的js数组,有没有一种简单的方法可以按范围重新分组数组值,逻辑是基于范围步长,范围步长为1,所以如果数组值连续增加1,那么应该写成“1-3”,否则应该分到另一组,非常感谢!

var list = ["1", "2", "3", "5", "6", "9", "12", "13", "14", "15", "16"]

function(list) {

// * some function here //

return ["1-3", "5-6", "9", "12-16"]
}

最佳答案

你可以使用 Array#reduce

var array = ["1", "2", "3", "5", "6", "9", "12", "13", "14", "15", "16"],
result = array.reduce(function (r, a, i, aa) {
r.push(!i || aa[i - 1] - a + 1 ? a : r.pop().split('-')[0] + '-' + a);
return r;
}, []);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 有没有一种简单的方法可以按范围对 js 数组值进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40431572/

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