For example Given numbers are 1,2,3,4,7,10, 12, 15,16,17,22 then the abbrevated result is 1-4,7,10,12,15-17,22. The solution i got is as following:
arr is the array of number which you want to pass and c = 0
ngOnInit(): void {
console.log('Entered array: ',this.arr);
var el = document.getElementById('firstvalue');
el.innerHTML = this.arr;
this.combo(this.arr);
}
combo(arr) {
this.result+= arr[0];
this.formethod(arr, this.c); //this.c=0;
formethod(arr, x) {
for(x;x<arr.length;x++){
if(x != arr.length -1){
if(arr[x+1]-arr[x]==1)
{
let a=this.result.length;
if(!(this.result[a-1].includes('-')) && !this.result[a-1].includes(','))
this.result+='-';
else if(this.result[a-1].includes(',')){
this.result+=arr[x]+'-';
else
this.result+=arr[x];
else {
if(x!=0)
this.result+=arr[x]+',';
else this.result+=',';
if you like the answer please support me.
Thank you