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


Groups > comp.lang.javascript > #35216

Re: get set value in array of objects

From "Christoph M. Becker" <cmbecker69@arcor.de>
Newsgroups comp.lang.javascript
Subject Re: get set value in array of objects
Date 2018-06-12 17:12 +0200
Organization solani.org
Message-ID <pfonrv$fvu$1@solani.org> (permalink)
References <m7idnSrECaxLhYLGnZ2dnUU7-fvNnZ2d@westnet.com.au>

Show all headers | View raw


On 12.06.2018 at 02:50, Andrew Poulos wrote:

> Say I have an array like this
> 
> var objArray = [
>     { id:0, name:'Jonah',   otherProp:321 },
>     { id:1, name:'Andrew',  otherProp:648 },
>     { id:2, name:'Another', otherProp:850 },
>     { id:3, name:'Quite',   otherProp:146 },
>     { id:4, name:'Mary',    otherProp:984 }
> ];
> 
> except that the objects have many more properties and the array has many
> more elements.
> 
> 
> To get, say the 'name' value for the object with an id = 3 I'm using:
> 
> var val = objArray.find(function(obj) {
>   return (obj.id === 3 ? obj.name : false);
> });
> 
> 
> And to set the 'name' value for the object with an id = 3 I'm using:
> 
> var ind = objArray.findIndex(function(obj) {
>   return obj.id === 3;
> });
> 
> objArray[ind]['name'] = "Fred";
> 
> 
> It works but I'm wondering if someone could show a "better" way.

If you're doing the lookup mostly by ID, consider to use some kind of
map instead.  For the given example you could even do:

  objArray[3].name

to get the name, and

  objArray[3].name = "Fred"

to set it.

-- 
Christoph M. Becker

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


Thread

get set value in array of objects Andrew Poulos <ap_prog@hotmail.com> - 2018-06-12 10:50 +1000
  Re: get set value in array of objects "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2018-06-12 16:40 +0200
  Re: get set value in array of objects "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-06-12 17:12 +0200
  Re: get set value in array of objects Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2018-06-12 17:36 +0200
    using Map Was: Re: get set value in array of objects Andrew Poulos <ap_prog@hotmail.com> - 2018-06-13 13:56 +1000
      Re: using Map Was: Re: get set value in array of objects Andrew Poulos <ap_prog@hotmail.com> - 2018-06-13 14:43 +1000
        Re: using Map Was: Re: get set value in array of objects Andrew Poulos <ap_prog@hotmail.com> - 2018-06-13 17:17 +1000
          Re: using Map Was: Re: get set value in array of objects Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-06-13 23:32 +0200
      Re: using Map Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-06-13 18:47 +0200
        Re: using Map Andrew Poulos <ap_prog@hotmail.com> - 2018-06-14 21:52 +1000
          Re: using Map Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-06-14 14:31 +0200
            Re: using Map Andrew Poulos <ap_prog@hotmail.com> - 2018-06-14 23:52 +1000
              Re: using Map Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-06-14 17:13 +0200
                Re: using Map "Mark-" <nospam@mapson.xyz> - 2018-06-14 16:25 +0000
          Re: using Map "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2018-06-14 16:11 +0200
  Re: get set value in array of objects Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-06-12 16:40 +0100
    Re: get set value in array of objects Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-06-13 05:18 +0200
      Re: get set value in array of objects Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-06-13 05:25 +0200
  Re: get set value in array of objects Julio Di Egidio <julio@diegidio.name> - 2018-06-14 07:11 -0700

csiph-web