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


Groups > comp.lang.javascript > #39247

Re: Painted into a corner

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: Painted into a corner
Date 2020-12-07 19:50 +0100
Organization PointedEars Software (PES)
Message-ID <5663081.lOV4Wx5bFT@PointedEars.de> (permalink)
References <CrOdnaj9_ITsBFDCnZ2dnUU7-VfNnZ2d@westnet.com.au> <11650524.O9o76ZdvQC@PointedEars.de> <5415173.DvuYhMxLoT@PointedEars.de>

Show all headers | View raw


Thomas 'PointedEars' Lahn wrote:

>     
>     if (!(control.name in data))
>     {
>       data[control.name] = record;
>     }
>     else
>     {
>       data[control.name] = [].concat(data[control.name], record);
>     }

Minor optimization:

  data[control.name] =
    (control.name in data)
      ? [].concat(data[control.name], record)
      : record;

If you always want the data-per-key in an array then you can just write

  data[control.name] = [].concat(data[control.name], record);

Another possibility:
  
  var name = control.name;
  var value = data[name];
  (Array.isArray(value)
    ? value
    : data[name] = (name in data ? [value] : [])
  ).push(record);

The latter approach has the advantage over the previous two that no 
superfluous Array instances will be created.

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

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


Thread

Painted into a corner Andrew Poulos <ap_prog@hotmail.com> - 2020-12-07 13:54 +1100
  Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-07 04:25 +0100
    Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-07 04:44 +0100
      Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-07 19:50 +0100
        Re: Painted into a corner Andrew Poulos <ap_prog@hotmail.com> - 2020-12-08 12:26 +1100
          Re: Painted into a corner "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-12-08 07:07 -0800
            Re: Painted into a corner Andrew Poulos <ap_prog@hotmail.com> - 2020-12-09 08:07 +1100
              Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-10 17:59 +0100
          Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-09 17:09 +0100
            Re: Painted into a corner Andrew Poulos <ap_prog@hotmail.com> - 2020-12-12 13:01 +1100
              Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-12 10:46 +0100
  Re: Painted into a corner "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-12-06 19:55 -0800
    Re: Painted into a corner Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-12-07 19:51 +0100
  Re: Painted into a corner Julio Di Egidio <julio@diegidio.name> - 2020-12-07 02:07 -0800

csiph-web