Post B6Jgt6vUtCIuh02wdM by kimapr@ublog.kimapr.net
(DIR) More posts by kimapr@ublog.kimapr.net
(DIR) Post #B6JfkyKGsj1NkRBoxM by darkwiiplayer@tech.lgbt
0 likes, 0 repeats
What's a readable #javascript golf for a numeric for loop one can use in a one-liner?Everything I come up with ends up being about as complicated as just writing out a C-style for loop like it's the year I was born
(DIR) Post #B6JfkyVyBENYKifABs by 4censord@unfug.social
0 likes, 0 repeats
@darkwiiplayer unsure if that satisfies readable, but something like[...Array($your_size).keys()] .map(item => { /*put your code in here*/ /* variable item contains the current iteration */ });
(DIR) Post #B6JfkyijPmaSyIdM5A by kimapr@ublog.kimapr.net
0 likes, 0 repeats
@4censord @darkwiiplayer This is considerably bigger than for(let item=0;item<$your_size;item++) /*put your code in here*/, thus doesn’t satisfy golf
(DIR) Post #B6JfkyuQiHwdYa6hJg by kimapr@ublog.kimapr.net
0 likes, 0 repeats
@4censord @darkwiiplayer i would’ve at least done [...Array(num)].map((_,i) => /* ... */)
(DIR) Post #B6Jfkz544kS45Z5BtQ by darkwiiplayer@tech.lgbt
0 likes, 0 repeats
@kimapr The fact that [...10] isn't a thing in JS borders on infuriating
(DIR) Post #B6JfkzCrbkgqTkjQ36 by kimapr@ublog.kimapr.net
0 likes, 0 repeats
@darkwiiplayer … no actually, it’s a good thing that they didn’t add this
(DIR) Post #B6JfkzNUyDCH0jhucq by fiore@brain.worm.pink
0 likes, 0 repeats
@kimapr @darkwiiplayer uhh why ? /genlike rust has this syntax for range iterators
(DIR) Post #B6Jgt6vUtCIuh02wdM by kimapr@ublog.kimapr.net
1 likes, 0 repeats
@fiore @darkwiiplayer Okay but in javascript this would mean, “a number is now iterable and explodes into an amount of dummy elements”I.e. makes no senserust does not have this syntax for range iterators
(DIR) Post #B6JgxelJ1ziAn3Rmts by fiore@brain.worm.pink
0 likes, 0 repeats
@kimapr @darkwiiplayer oh yea thatd be awfuli mustve misunderstood what the semantics of this are in js then >~<
(DIR) Post #B6JjFySyi27L1UjkPY by kimapr@ublog.kimapr.net
1 likes, 0 repeats
@fiore @darkwiiplayer though i thinked about it for 3 seconds, and i realize that it’s pretty trivial to implement exactly this behavior in javascript without language changesNumber.prototype[Symbol.iterator] = function*(i){for(let i=0;i<this;i++)yield i}then typing [...10] would produce [0,1,2,3,4,5,6,7,8,9] …Or in a “foreach” loop:for (let i of 10) console.log(i);A better, more useful idea would be something like this:Number.prototype.to = function*(j){for(let i=+this;i<j;i++)yield i};for (let i of (0).to(10)) console.log(i);to implement iterable ranges as can be found in rust
(DIR) Post #B6JjH7e64ACLmXU86C by fiore@brain.worm.pink
0 likes, 0 repeats
@kimapr @darkwiiplayer waowww