How to add hyphen when days of week are concurrent [closed]
Example1 :
daysofweek=['MON','TUE','WED','THU','FRI','SUN'] ;
output should be :
MON-FRI,SUN
Example2 :
daysofweek=['MON',TUE'];
output should be :
MON,TUE
javascript
closed as off-topic by Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo Nov 24 '18 at 9:06
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
Example1 :
daysofweek=['MON','TUE','WED','THU','FRI','SUN'] ;
output should be :
MON-FRI,SUN
Example2 :
daysofweek=['MON',TUE'];
output should be :
MON,TUE
javascript
closed as off-topic by Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo Nov 24 '18 at 9:06
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo
If this question can be reworded to fit the rules in the help center, please edit the question.
5
The posted question does not appear to include any attempt at all to solve the problem. StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to show what you've tried, so as to illustrate a specific roadblock you're running into a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– CertainPerformance
Nov 24 '18 at 6:10
please try to solve the problem first then asking for the part which you stuck with your code
– Hoàng Đăng
Nov 24 '18 at 6:13
I think, by definition, days of the week can't be concurrent. Contiguous perhaps.
– Drew Reese
Nov 24 '18 at 6:26
why should the output beMON-FRI,SUN
?
– marvinIsSacul
Nov 24 '18 at 6:36
^ and also why wouldn't ['MON','TUE'] become MON-TUE
– JasonB
Nov 24 '18 at 6:37
add a comment |
Example1 :
daysofweek=['MON','TUE','WED','THU','FRI','SUN'] ;
output should be :
MON-FRI,SUN
Example2 :
daysofweek=['MON',TUE'];
output should be :
MON,TUE
javascript
Example1 :
daysofweek=['MON','TUE','WED','THU','FRI','SUN'] ;
output should be :
MON-FRI,SUN
Example2 :
daysofweek=['MON',TUE'];
output should be :
MON,TUE
javascript
javascript
edited Nov 24 '18 at 6:21
Foo
1
1
asked Nov 24 '18 at 6:09
harryharry
32
32
closed as off-topic by Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo Nov 24 '18 at 9:06
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo
If this question can be reworded to fit the rules in the help center, please edit the question.
closed as off-topic by Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo Nov 24 '18 at 9:06
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – Bhojendra Rauniyar, lagom, stdob--, Hassan Imam, Foo
If this question can be reworded to fit the rules in the help center, please edit the question.
5
The posted question does not appear to include any attempt at all to solve the problem. StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to show what you've tried, so as to illustrate a specific roadblock you're running into a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– CertainPerformance
Nov 24 '18 at 6:10
please try to solve the problem first then asking for the part which you stuck with your code
– Hoàng Đăng
Nov 24 '18 at 6:13
I think, by definition, days of the week can't be concurrent. Contiguous perhaps.
– Drew Reese
Nov 24 '18 at 6:26
why should the output beMON-FRI,SUN
?
– marvinIsSacul
Nov 24 '18 at 6:36
^ and also why wouldn't ['MON','TUE'] become MON-TUE
– JasonB
Nov 24 '18 at 6:37
add a comment |
5
The posted question does not appear to include any attempt at all to solve the problem. StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to show what you've tried, so as to illustrate a specific roadblock you're running into a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– CertainPerformance
Nov 24 '18 at 6:10
please try to solve the problem first then asking for the part which you stuck with your code
– Hoàng Đăng
Nov 24 '18 at 6:13
I think, by definition, days of the week can't be concurrent. Contiguous perhaps.
– Drew Reese
Nov 24 '18 at 6:26
why should the output beMON-FRI,SUN
?
– marvinIsSacul
Nov 24 '18 at 6:36
^ and also why wouldn't ['MON','TUE'] become MON-TUE
– JasonB
Nov 24 '18 at 6:37
5
5
The posted question does not appear to include any attempt at all to solve the problem. StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to show what you've tried, so as to illustrate a specific roadblock you're running into a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– CertainPerformance
Nov 24 '18 at 6:10
The posted question does not appear to include any attempt at all to solve the problem. StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to show what you've tried, so as to illustrate a specific roadblock you're running into a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– CertainPerformance
Nov 24 '18 at 6:10
please try to solve the problem first then asking for the part which you stuck with your code
– Hoàng Đăng
Nov 24 '18 at 6:13
please try to solve the problem first then asking for the part which you stuck with your code
– Hoàng Đăng
Nov 24 '18 at 6:13
I think, by definition, days of the week can't be concurrent. Contiguous perhaps.
– Drew Reese
Nov 24 '18 at 6:26
I think, by definition, days of the week can't be concurrent. Contiguous perhaps.
– Drew Reese
Nov 24 '18 at 6:26
why should the output be
MON-FRI,SUN
?– marvinIsSacul
Nov 24 '18 at 6:36
why should the output be
MON-FRI,SUN
?– marvinIsSacul
Nov 24 '18 at 6:36
^ and also why wouldn't ['MON','TUE'] become MON-TUE
– JasonB
Nov 24 '18 at 6:37
^ and also why wouldn't ['MON','TUE'] become MON-TUE
– JasonB
Nov 24 '18 at 6:37
add a comment |
2 Answers
2
active
oldest
votes
var oneDArray = function(weekArray){
var week = ;
for(var i=0; i< weekArray.length;i++){
var conDays = weekArray[i];
if((sorter[conDays[1]] - sorter[conDays[0]]) === 0 ){
week[i] = conDays[0];
}
else if((sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){
week[i] = conDays;
}else{
week[i] = conDays.join("-");
}
}
return week.join();
};
var convertToWeekRanges = function (week) {
var weekRanges =
weekRanges[0] = [week[0], week[0]];
var lastIndex = 0;
for (var i = 1; i < week.length; i++) {
if ((sorter[week[i]] - sorter[weekRanges[lastIndex][1]]) === 1) {
weekRanges[lastIndex][1] = week[i];
} else {
weekRanges[++lastIndex] = [week[i], week[i]];
}
}
return weekRanges;
};
console.log(oneDArray(convertToWeekRanges(['MON','TUE'] )));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','SAT','SUN'])));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','FRI','SUN'])));
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
|
show 5 more comments
You can take a reference of all days in week to compare which day is missing and use split
and map
on missing day like below
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
var oneDArray = function(weekArray){
var week = ;
for(var i=0; i< weekArray.length;i++){
var conDays = weekArray[i];
if((sorter[conDays[1]] - sorter[conDays[0]]) === 0 ){
week[i] = conDays[0];
}
else if((sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){
week[i] = conDays;
}else{
week[i] = conDays.join("-");
}
}
return week.join();
};
var convertToWeekRanges = function (week) {
var weekRanges =
weekRanges[0] = [week[0], week[0]];
var lastIndex = 0;
for (var i = 1; i < week.length; i++) {
if ((sorter[week[i]] - sorter[weekRanges[lastIndex][1]]) === 1) {
weekRanges[lastIndex][1] = week[i];
} else {
weekRanges[++lastIndex] = [week[i], week[i]];
}
}
return weekRanges;
};
console.log(oneDArray(convertToWeekRanges(['MON','TUE'] )));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','SAT','SUN'])));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','FRI','SUN'])));
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
|
show 5 more comments
var oneDArray = function(weekArray){
var week = ;
for(var i=0; i< weekArray.length;i++){
var conDays = weekArray[i];
if((sorter[conDays[1]] - sorter[conDays[0]]) === 0 ){
week[i] = conDays[0];
}
else if((sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){
week[i] = conDays;
}else{
week[i] = conDays.join("-");
}
}
return week.join();
};
var convertToWeekRanges = function (week) {
var weekRanges =
weekRanges[0] = [week[0], week[0]];
var lastIndex = 0;
for (var i = 1; i < week.length; i++) {
if ((sorter[week[i]] - sorter[weekRanges[lastIndex][1]]) === 1) {
weekRanges[lastIndex][1] = week[i];
} else {
weekRanges[++lastIndex] = [week[i], week[i]];
}
}
return weekRanges;
};
console.log(oneDArray(convertToWeekRanges(['MON','TUE'] )));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','SAT','SUN'])));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','FRI','SUN'])));
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
|
show 5 more comments
var oneDArray = function(weekArray){
var week = ;
for(var i=0; i< weekArray.length;i++){
var conDays = weekArray[i];
if((sorter[conDays[1]] - sorter[conDays[0]]) === 0 ){
week[i] = conDays[0];
}
else if((sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){
week[i] = conDays;
}else{
week[i] = conDays.join("-");
}
}
return week.join();
};
var convertToWeekRanges = function (week) {
var weekRanges =
weekRanges[0] = [week[0], week[0]];
var lastIndex = 0;
for (var i = 1; i < week.length; i++) {
if ((sorter[week[i]] - sorter[weekRanges[lastIndex][1]]) === 1) {
weekRanges[lastIndex][1] = week[i];
} else {
weekRanges[++lastIndex] = [week[i], week[i]];
}
}
return weekRanges;
};
console.log(oneDArray(convertToWeekRanges(['MON','TUE'] )));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','SAT','SUN'])));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','FRI','SUN'])));
var oneDArray = function(weekArray){
var week = ;
for(var i=0; i< weekArray.length;i++){
var conDays = weekArray[i];
if((sorter[conDays[1]] - sorter[conDays[0]]) === 0 ){
week[i] = conDays[0];
}
else if((sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){
week[i] = conDays;
}else{
week[i] = conDays.join("-");
}
}
return week.join();
};
var convertToWeekRanges = function (week) {
var weekRanges =
weekRanges[0] = [week[0], week[0]];
var lastIndex = 0;
for (var i = 1; i < week.length; i++) {
if ((sorter[week[i]] - sorter[weekRanges[lastIndex][1]]) === 1) {
weekRanges[lastIndex][1] = week[i];
} else {
weekRanges[++lastIndex] = [week[i], week[i]];
}
}
return weekRanges;
};
console.log(oneDArray(convertToWeekRanges(['MON','TUE'] )));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','SAT','SUN'])));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','FRI','SUN'])));
edited Nov 24 '18 at 14:44
answered Nov 24 '18 at 7:20
saurav omarsaurav omar
767
767
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
|
show 5 more comments
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
my question is how to add hyphen when iterate days of week are concurrent.MON-FRI,SUN. if there is no concurrent weeks and that will displayed as comma separated values.
– harry
Nov 24 '18 at 7:29
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
var daysofweek=['MON','TUE']; output is now MON-TUE : but expected is MON,TUE
– harry
Nov 24 '18 at 11:50
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
As you see MON-TUE is consecutive. thats why you are getting this output.
– saurav omar
Nov 24 '18 at 12:20
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
consuective should be consider more than 2 length
– harry
Nov 24 '18 at 12:34
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
Update function -> var oneDArray = function(weekArray){ var week = ; for(var i=0; i< weekArray.length;i++){ var conDays = weekArray[i]; console.log(sorter[conDays[1]] - sorter[conDays[0]]); if(conDays.length == 1 || (sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){ week[i] = conDays; }else{ week[i] = conDays.join("-"); } } return week.join(); };
– saurav omar
Nov 24 '18 at 12:49
|
show 5 more comments
You can take a reference of all days in week to compare which day is missing and use split
and map
on missing day like below
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
add a comment |
You can take a reference of all days in week to compare which day is missing and use split
and map
on missing day like below
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
add a comment |
You can take a reference of all days in week to compare which day is missing and use split
and map
on missing day like below
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
You can take a reference of all days in week to compare which day is missing and use split
and map
on missing day like below
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
let daysofweek1 = ['MON','TUE','WED', 'THU','FRI','SUN'] ;
let daysofweek2 = ['MON','WED','THU','FRI','SUN'] ;
let daysofweek3 = ['TUE','WED'];
let allWeeks = ['MON','TUE','WED','THU','FRI','SAT', 'SUN']
function getCombinedDays(arr) {
return allWeeks.map(d => arr.some(v => v == d) ? d : '-')
.join('')
.split('-')
.flatMap(d => d.length > 3 ? (d.length == 6 ? [d.slice(0,3), d.slice(-3)] : d.slice(0,3) + '-' + d.slice(-3)) : d)
.filter(d => d)
}
console.log(getCombinedDays(daysofweek1))
console.log(getCombinedDays(daysofweek2))
console.log(getCombinedDays(daysofweek3))
edited Nov 24 '18 at 12:06
answered Nov 24 '18 at 9:11
Nitish NarangNitish Narang
2,9401815
2,9401815
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
add a comment |
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
Comments are not for extended discussion; this conversation has been moved to chat.
– Samuel Liew♦
Nov 25 '18 at 9:57
add a comment |
5
The posted question does not appear to include any attempt at all to solve the problem. StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to show what you've tried, so as to illustrate a specific roadblock you're running into a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– CertainPerformance
Nov 24 '18 at 6:10
please try to solve the problem first then asking for the part which you stuck with your code
– Hoàng Đăng
Nov 24 '18 at 6:13
I think, by definition, days of the week can't be concurrent. Contiguous perhaps.
– Drew Reese
Nov 24 '18 at 6:26
why should the output be
MON-FRI,SUN
?– marvinIsSacul
Nov 24 '18 at 6:36
^ and also why wouldn't ['MON','TUE'] become MON-TUE
– JasonB
Nov 24 '18 at 6:37