I created this function in my application:
const test = (seconds) => {
let dateType = "seconds";
let time = seconds;
if (seconds % 60 === 0) {
dateType = "minutes";
time = seconds / 60;
}
if (seconds % 3600 === 0) {
dateType = "hours";
time = seconds / 3600;
}
if (seconds % 86400 === 0) {
dateType = "days";
time = seconds / 86400;
}
return {
dateType,
time,
};
};
I want to change the function above into something like this:
const test = (seconds) => {
let dateType = "seconds";
let time = seconds;
const OUTPUT = {
[seconds % 60 === 0]: {
dateType: "minutes",
time: seconds / 60,
},
[seconds % 3600 === 0]: {
dateType: "hours",
time: seconds / 3600,
},
[seconds % 86400 === 0]: {
dateType: "days",
time: seconds / 86400,
},
};
return OUTPUT[seconds];
};
console.log(test(60)); // here i need to get the first item from OUTPUT
'indateType: 'minutes,is causing the code to not even parse[seconds % 86400 === 0]will betrueorfalse... so the object will only ever have at most 2 properties,true, andfalse... and never a numeric property ... like60in your example ... addconsole.log(OUTPUT);before you return in that function, and you'll see your problem