I'm just not seeing what it's supposed to do. If you could give a brief explanation of the array method, and the string method then of course I would get it. I know it would seem obvious to you from the examples alone, it's just not to me.
On Fri, 16 Aug 2019 at 08:32, Andrea Giammarchi <[email protected]> wrote: > Just to re-state: zip from lowdash, does **not** do what my proposed > method does ... anything that won't produce the following result is not > what I'm proposing > > console.log(['a', 'b', 'c', 'd'].joinWith([1, 2])); > // a1b2c1d > > function tag2str(template, ...values) { > return template.joinWith(values); > } > > tag2str`a${1}b${2}c`; > // "a1b2c" > > On Fri, Aug 16, 2019 at 5:57 AM Isiah Meadows <[email protected]> > wrote: > >> For that, I'd rather see an `interleave` that just rotates through all >> its arguments. It'd be basically sugar for `.zip().flat()`, but an >> implementation could optimize the heck out of it. (In particular, they >> could iterate through them one-by-one and only allocate once, not in >> the hot loop, so it'd be fast.) >> >> I at one point had it in my list of wishlist proposals, but it somehow >> disappeared. I've since recreated it: >> >> https://github.com/isiahmeadows/es-stdlib-proposals/blob/master/proposals/array/interleave.md >> >> ----- >> >> Isiah Meadows >> [email protected] >> www.isiahmeadows.com >> >> >> On Thu, Aug 15, 2019 at 1:12 PM Andrea Giammarchi >> <[email protected]> wrote: >> > >> > That;s not useful for template literals tags though >> > >> > _.zip(['a', 'b', 'c'], [1, 2]); >> > [["a", 1], ["b", 2], ["c", undefined]] >> > >> > it basically does nothing I've proposed ... any other name suggestion? >> > >> > On Thu, Aug 15, 2019 at 3:40 PM Michał Wadas <[email protected]> >> wrote: >> >> >> >> https://lodash.com/docs/#zip >> >> https://docs.python.org/3/library/functions.html#zip >> >> >> >> On Thu, 15 Aug 2019, 15:34 Andrea Giammarchi, < >> [email protected]> wrote: >> >>> >> >>> the suggested name is just ... suggested, I don't have strong opinion >> on it, it just `join` values through other values >> >>> what's `Array.zip` ? I've no idea >> >>> >> >>> >> >>> On Thu, Aug 15, 2019 at 12:53 PM Michał Wadas <[email protected]> >> wrote: >> >>>> >> >>>> I would rather see Array.zip, it covers this use case. >> >>>> >> >>>> On Thu, 15 Aug 2019, 10:50 Andrea Giammarchi, < >> [email protected]> wrote: >> >>>>> >> >>>>> >> >>>>> I wonder if there's any interest in adding another handy Array >> method as joinWith could be: >> >>>>> >> >>>>> ```js >> >>>>> // proposal example >> >>>>> Array.prototype.joinWith = function (values) { >> >>>>> const {length} = this; >> >>>>> if (length < 2) >> >>>>> return this.join(''); >> >>>>> const out = [this[0]]; >> >>>>> const len = values.length; >> >>>>> for (let i = 1; i < length; i++) { >> >>>>> console.log(i, len); >> >>>>> out.push(values[(i - 1) % len], this[i]); >> >>>>> } >> >>>>> return out.join(''); >> >>>>> }; >> >>>>> ``` >> >>>>> >> >>>>> The goal is to simplify joining array entries through not the same >> value, example: >> >>>>> >> >>>>> ```js >> >>>>> console.log(['a', 'b', 'c', 'd'].joinWith([1, 2])); >> >>>>> // a1b2c1d >> >>>>> >> >>>>> function tag2str(template, ...values) { >> >>>>> return template.joinWith(values); >> >>>>> } >> >>>>> >> >>>>> tag2str`a${1}b${2}c`; >> >>>>> // "a1b2c" >> >>>>> ``` >> >>>>> >> >>>>> Throughts? >> >>>>> _______________________________________________ >> >>>>> es-discuss mailing list >> >>>>> [email protected] >> >>>>> https://mail.mozilla.org/listinfo/es-discuss >> > >> > _______________________________________________ >> > es-discuss mailing list >> > [email protected] >> > https://mail.mozilla.org/listinfo/es-discuss >> > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

