[feat][V]:新增转换器工具函数库

master
Romesum 5 years ago
parent 5725309ae3
commit 46af05f55c

@ -0,0 +1,43 @@
export function arr2shortString(arr) {
if (arr.length === 1) return arr[0]
arr = [...new Set(arr)] //去重
arr = arr.sort(function (a, b) {
return a - b
})
var min = arr[0]
var max
var newArr = []
for (let i = 0; i < arr.length - 1; i++) {
max = arr[i] === arr[i + 1] - 1 ? arr[i + 1] : arr[i]
if (max === arr[i] || max === arr[arr.length - 1]) {
newArr.push(min === max ? max : min + '-' + max)
min = arr[i + 1]
if (min === arr[arr.length - 1] && min - 1 !== arr[i]) {
newArr.push(min)
}
}
}
return newArr.toString()
}
//分割arr为数组range为分割范围要求arr为已排序数组,range为正整数
export function seg(arr, range) {
arr = [...new Set(arr)] //去重
var min = arr[0]
var max
var newArr = []
for (let i = 0; i < arr.length - 1; i++) {
max = arr[i] === arr[i + 1] - 1 ? arr[i + 1] : arr[i]
if (arr[i] - min === range - 1) { //在constrict的基础上加if
newArr.push(min + '-' + arr[i])
min = arr[i + 1]
} else if (max === arr[i] || max === arr[arr.length - 1]) {
newArr.push(min === max ? max : min + '-' + max)
min = arr[i + 1]
if (min === arr[arr.length - 1] && min - 1 !== arr[i]) {
newArr.push(min)
}
}
}
return newArr.toString()
}
Loading…
Cancel
Save