Sparse array destructuring in JavaScript
codepipet.com
Sparse array destructuring in JavaScript
1–10 of 18 posts
Re: Sparse array destructuring in JavaScript
#2Re: Sparse array destructuring in JavaScript
#3Re: Sparse array destructuring in JavaScript
#4This is really only even marginally appropriate if you want to do something like this:
return Object.entries(myObject)
.filter(([, value]) => value % 2 === 0)
.map(([key, value]) => `${key} has even value ${value}`);
Skipping the key in the `filter` call is probably straightforward enough that nobody is going to be confused about what's happening. But if you're doing this for a tuple of any significant length, you're just papering over a much more serious problem that's already present in your code.Re: Sparse array destructuring in JavaScript
#5let [one, _, three, _, five] = nums
edit: I guess you can't do that in JS, so
let [one, _two, three, _four, five] = nums
Re: Sparse array destructuring in JavaScript
#6It's called "array destructuring" because you're destructuring _arrays_, but this is treating arrays like _tuples_. If you're storing more than 3 (really 2) pieces of information about a single thing in a tuple, you're almost certainly misusing tuples. Why would you store a payment record, for instance, in a tuple of the form `[customerEmail, cardLast4, amount, currency, timestamp]` when you could just use an object,…
Re: Sparse array destructuring in JavaScript
#7 let { 0: one, 2: three, 4: five } = nums;Re: Sparse array destructuring in JavaScript
#8I’d flag this if I saw this in a code review. It’s to cute and hard to see what’s happening. Would much rather just see someone prefix with an underscore if they don’t need the variable (const [id, _email, name] = loadUserInfo(…); is preferable to const [id, , name]).
Learn the language.
Re: Sparse array destructuring in JavaScript
#9I’d flag this if I saw this in a code review. It’s to cute and hard to see what’s happening. Would much rather just see someone prefix with an underscore if they don’t need the variable (const [id, _email, name] = loadUserInfo(…); is preferable to const [id, , name]).
Re: Sparse array destructuring in JavaScript
#10Alternative: let { 0: one, 2: three, 4: five } = nums;