Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #34122

Re: Iterating through an array (special syntax)

Path csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Rolf Niepraschk <Rolf.Niepraschk@gmx.de>
Newsgroups comp.lang.javascript
Subject Re: Iterating through an array (special syntax)
Date Tue, 17 Oct 2017 18:46:55 +0200
Lines 49
Message-ID <f4mqfvF9pi1U1@mid.individual.net> (permalink)
References <f4m4ugF4q8tU1@mid.individual.net> <7f583c52-91a8-4773-a2cb-bc8534a1ad78@googlegroups.com> <f4mddoF6nddU1@mid.individual.net> <22557651-daf7-4252-b3a4-c9df083be85c@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace individual.net 5SIBShABdliBVgkIUFZXhQzEZytSPP0MwHhBhNuIt81GHth+GV
Cancel-Lock sha1:+SuXgBjmY27JD8Zi5YSbtUdLJT0=
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
In-Reply-To <22557651-daf7-4252-b3a4-c9df083be85c@googlegroups.com>
Content-Language en-US
Xref csiph.com comp.lang.javascript:34122

Show key headers only | View raw


Am 17.10.2017 um 15:19 schrieb Michael Haufe (TNO):
...
> 
> This can be a bit more efficient by eliminating the intermediate object and such, but I prefer clarity in this case as we don't know the larger architectural requirement:
> 
> <script>
> function foo(xs) {
>    return {
>      oldItems: xs,
>      newItems: xs.map(x => x * 2),
>      each: function(fnUnzip){
>        xs.forEach((x,i) => fnUnzip(x, this.newItems[i]))
>      }
>    }
> }
> 
> foo([1,2,3,4]).each((oldItem,newItem) => {
>    console.log(`oldItem: ${oldItem} newItem: ${newItem}`)
> })
> </script>
> 
> This is newer than ES5 so compile/translate as necessary for your target environment.
> 

This solution is very helpful and I can use modern browsers and a recent 
nodejs version. Many Thanks.

But one Problem remains. How must be the function modified if the array 
is generated in an asynchronous way? For example:

//--------------------------------------------------------
function foo() {
   setTimeout(function() {
     var arr = [1,2,3,4];
     // ???
   }, 500);
}

foo().each((oldItem,newItem) => {
    console.log(`oldItem: ${oldItem} newItem: ${newItem}`)
})
//--------------------------------------------------------

...Rolf




Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-17 12:39 +0200
  Re: Iterating through an array (special syntax) "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2017-10-17 05:54 -0700
    Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-17 15:03 +0200
      Re: Iterating through an array (special syntax) "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2017-10-17 06:19 -0700
        Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-17 18:46 +0200
          Re: Iterating through an array (special syntax) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-18 13:55 +0200
            Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-18 14:25 +0200
              Re: Iterating through an array (special syntax) "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-10-18 15:38 +0200
              Re: Iterating through an array (special syntax) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-18 15:49 +0200
          Re: Iterating through an array (special syntax) "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2017-10-18 16:25 -0700
            Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-19 07:50 +0200
            Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-19 15:15 +0200
              Re: Iterating through an array (special syntax) Julio Di Egidio <julio@diegidio.name> - 2017-10-19 06:36 -0700
                Re: Iterating through an array (special syntax) Julio Di Egidio <julio@diegidio.name> - 2017-10-19 06:39 -0700
                Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-19 18:16 +0200
                Re: Iterating through an array (special syntax) Julio Di Egidio <julio@diegidio.name> - 2017-10-19 18:55 -0700
              Re: Iterating through an array (special syntax) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-19 21:53 +0200
                Re: Iterating through an array (special syntax) Rolf Niepraschk <Rolf.Niepraschk@gmx.de> - 2017-10-20 07:55 +0200
                Re: Iterating through an array (special syntax) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-20 21:48 +0200
  Re: Iterating through an array (special syntax) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-18 04:50 +0200

csiph-web