Does Javascript filter preserve order?

Yes, the .filter() method returns a new array, without the filtered elements in the same order as initially.

The order of the elements is one of the main feature of a array.


Yes. From the spec,

  • Let selected be the result of calling the [[Call]] internal method of callbackfn with T as the this value and argument list containing kValue, k, and O.
  • If ToBoolean(selected) is true, then

    • Call the [[DefineOwnProperty]] internal method of A with arguments ToString(to), Property Descriptor {[[Value]]: kValue, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
    • Increase to by 1.

So the items in the returned array have the same order than in the original one.

Tags:

Javascript