Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #39689
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: Faster procedure then shift to remove first element of list or array? |
| Date | 2021-03-18 12:26 +0100 |
| Organization | PointedEars Software (PES) |
| Message-ID | <11719837.O9o76ZdvQC@PointedEars.de> (permalink) |
| References | <ec6dacb2-0ac5-4ae3-bc3e-62bf086557ddn@googlegroups.com> <adb38a78-7566-46ba-844f-3a126419e0b3n@googlegroups.com> |
Michael Haufe (TNO) wrote: > On Wednesday, March 17, 2021 at 12:51:36 AM UTC-5, jonas.t...@gmail.com > wrote: >> is there a faster way to remove first element of array/list then shift? > > Shift is probably fast enough. Have you tried profiling your code? The algorithm of Array.prototype.shift() is of order 𝓞(n). The fastest way to delete the first element of a zero-indexed iterable is delete a[0] which is of order 𝓞(1), whereas “a” refers to the iterable. However, whether the afterwards non-existing first element (unless it is prevented by some mechanism) shows up not at all, or as “undefined” instead, depends on how the iterable is accessed, and the accessors and access hooks that may be defined. And it does not change the "length" of the iterable, unless a corresponding “delete” hook has been defined (with Proxy). However: Array.prototype.shift() usually is not available for non-Array instances; so in order to use .shift(), it may be necessary to convert the non-Array to Array, or treat it as such (by Function.prototype.call()/.apply()), which can be expensive. A direct, relatively efficient way corresponding to .shift() exists for NodeList implementations with nodeList.removeChild(nodeList.firstChild). -- 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
Faster procedure then shift to remove first element of list or array? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2021-03-16 22:51 -0700
Re: Faster procedure then shift to remove first element of list or array? "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-17 06:09 -0700
Re: Faster procedure then shift to remove first element of list or array? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2021-03-17 06:45 -0700
Re: Faster procedure then shift to remove first element of list or array? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-03-18 12:26 +0100
Re: Faster procedure then shift to remove first element of list or array? "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-18 06:30 -0700
Re: Faster procedure then shift to remove first element of list or array? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-03-19 02:59 +0100
Re: Faster procedure then shift to remove first element of list or array? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2021-03-19 12:39 -0700
Re: Faster procedure then shift to remove first element of list or array? "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-19 13:55 -0700
Re: Faster procedure then shift to remove first element of list or array? "sc...@sauyet.com" <scott@sauyet.com> - 2021-03-19 14:42 -0700
csiph-web