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

Path csiph.com!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!feeder5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From "Christoph M. Becker" <cmbecker69@arcor.de>
Newsgroups comp.lang.javascript
Subject Re: get set value in array of objects
Date Tue, 12 Jun 2018 17:12:02 +0200
Organization solani.org
Lines 47
Message-ID <pfonrv$fvu$1@solani.org> (permalink)
References <m7idnSrECaxLhYLGnZ2dnUU7-fvNnZ2d@westnet.com.au>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace solani.org 1528816319 16382 127.0.0.43 (12 Jun 2018 15:11:59 GMT)
X-Complaints-To abuse@news.solani.org
NNTP-Posting-Date Tue, 12 Jun 2018 15:11:59 +0000 (UTC)
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
In-Reply-To <m7idnSrECaxLhYLGnZ2dnUU7-fvNnZ2d@westnet.com.au>
Content-Language de-DE
X-User-ID eJwFwQkBACAIA8BMPBsQBxX6R/AORuENJ+hY7ENeruCJlXQfHWpMzLiozZ4yVEJbI6P35gceLBES
Cancel-Lock sha1:LsKmktz0++YDVpNNCih0M8hOGVU=
Xref csiph.com comp.lang.javascript:35216

Show key headers only | 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