Comments (3)
Appreciate you bringing it up.
If the book was still in draft or even recently published, I might have added a phrase/sentence to the text. But since the book was published more than 3 years ago, I think it's probably not an important enough change to warrant issuing a correction.
Cheers!
from you-dont-know-js.
I don't think this is an issue that we will fix. Here's why: the real problem here is not the logic suggested in the solution, but that the setup of the problem is somewhat under-specified (it relies on what I think are reasonable, but non-explicit, assumptions).
IOW, there is an assumption that the function is only used with inputs that stay within the same day. The solution doesn't handle validation for inputs outside of that range.
I assumed from the setup that it would be clear that we're only using timestamps on a same day, and that the duration of the meeting cannot go past the end of the day. Furthermore, the wording in the text says "...if the meeting falls entirely within the work day." If a meeting falls within a work-day (in the traditional definition thereof), it definitely has to fall within a regular 24-hr day (ending before midnight). I made no mention of handling "work days" that span midnight, or any of a variety of different complexities.
Staying within a single 24-hr day would be the only way that sorting with 24-hr timestamps would be possible/reliable. I was deliberately designing this to restrict the "domain" of the problem to make it simpler.
So if I were going to fix anything, I might have added some sentence to the setup text for the problem earlier in the appendix, which indicated that the function can expect inputs within the relevant range for the day and that it did not need to cover any other sorts of inputs.
In my mind, this is the same kind of assumption as not allowing/handling negative values for meeting duration (there's no such thing as a meeting with negative duration). The code doesn't make any attempt to validate that because it's an assumed pre-condition. Similarly, there's an assumed pre-condition that start+duration won't go past midnight. I maybe should have said that explicitly, but I assumed it would be obvious enough.
from you-dont-know-js.
Thanks, I appreciate your reply. It's ultimately a judgement call and I wanted to bring it to your attention.
from you-dont-know-js.
Related Issues (20)
- Yeah but you have the NITDA
- Backward and forward compatibility in Javascript specification HOT 2
- Stale Closure HOT 1
- Add simplified Chinese translation to the 2ed HOT 4
- Misspellings detected by `typos` HOT 1
- What's this
- I think the condition in the if statement should be "(new.target === Point2d)" now it is "(new.target === Point2)" HOT 1
- Unable to see images on generated epub HOT 3
- The lexical binding of an arrow-function cannot be overridden (even with `new`!) HOT 4
- Value Type - Primitive HOT 7
- Reordering of "Why Closure?" and "An Alternative Perspective" in the toc HOT 1
- Hint at what coercion is being done HOT 2
- Promise.prototype.finally was introduced in ES2018, not E2019 HOT 1
- IsLessThan wrong output HOT 1
- Does `module` need quotes? HOT 1
- Copy right policy about teaching your book HOT 2
- Superficial explanation of Modules In Chapter 2 of Book 1 (2nd edition) HOT 4
- `add10To` vs `addTo10` HOT 2
- YDKJSY, coercion practice question HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from you-dont-know-js.