Okay, the marketing fluff really gets in the way of any actual attempt at understanding...
Would be nice to have an actual "Getting Started" that walks through checking out code, creating a project, and where to edit/put something... even a client/server example of a todo-mvc-like app.
-0 is also falsy
Worth mentioning, in the comparison with undefined, is that if you JSON.serialize an object with a property set to `undefined` it will remove the property from output. If it's a value in an array, it will be replaced with null.
While this helps to explain the pattern, the reality is that you're unlikely to want to do these kinds of things in JavaScript. You are likely better off either using an object, Map or array for these types of profiles.
Aside: how do others feel about these "Programming concept/algorithm X in JavaScript" posts?
Just curious if anyone finds these types of basic level tutorials useful? I mean, generics are probably a core feature in using TypeScript in the first place. There's also a lot of posts that are pretty intro js or node as well. Curious what opinions are.
I'd suggest posting on stack overflow.
That said..
const checks = Array.from(
document.querySelectorAll('input[name^=newpackqty]')
);
const noSrcLabels = !checks.find(el => ~~el.value);
the first one gets all inputs with a name that starts with newpackqty, and the second checks to find if one has a numeric value that is not 0, and inverts the rsult (!).
The blacklist isn't really much worse than the whitelist depending on the database... though if you're using a distributed/redundant db, such as Cassandra/Scylla, BigTable, Dynamo or Storage Tables, then a whitelist can be opportunistic.
If you're using a structured (SQL) database, either white or blacklist should work roughly equally.
While this does show how you *could* use linked lists in JavaScript, in practice, don't do this... just use JS Arrays with plain objects. The overhead for the article's methods will generally take a lot more memory and not really perform better than Array.prototype methods already available.