在javascript中如何将数组中的数字序列转换为数字范围?
例如.[2,3,4,5,10,18,19,20]至[2-5,10,18-20]
我正在尝试采用这样的数组:
[1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008, 2009, 2010]
Run Code Online (Sandbox Code Playgroud)
并使其输出:
1999 - 2004, 2006, 2008 - 2010
这似乎是一个简单的任务,但似乎做对了。我假设这Array.reduce是正确的工具:
[1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008, 2009, 2010]
Run Code Online (Sandbox Code Playgroud)
我快到了,但我正尝试使它看起来尽可能整洁而没有一堆if语句。
我知道我可以走穷人路线,只是跑了一条路str.replace(',-', '-')来解决我的最后一个小障碍,但是我不喜欢这样。