
The thisArg argument (defaults to undefined) will be used as the this value when calling callbackFn. What callbackFn is expected to return depends on the array method that was called. The array that the method was called upon. The index of the current element being processed in the array. The current element being processed in the array. Where callbackFn takes three arguments: element The following table lists the methods that mutate the original array, and the corresponding non-mutating alternative: Mutating methodĪn easy way to change a mutating method into a non-mutating alternative is to use the spread syntax or slice() to create a copy first: The following methods always create new arrays with the Array base constructor:

splice() (to construct the array of removed elements that's returned).The following methods create new arrays by accessing nstructor to determine the constructor to use: Other methods mutate the array that the method was called on, in which case their return value differs depending on the method: sometimes a reference to the same array, sometimes the length of the new array. Primitive types such as strings, numbers and booleans (not String, Number, and Boolean objects): their values are copied into the new array.That is, if a referenced object is modified, the changes are visible to both the new and original arrays. Both the original and new array refer to the same object. Objects: the object reference is copied into the new array.Elements of the original array(s) are copied into the new array as follows: The copy always happens shallowly - the method never copies anything beyond the initially created array. They do so by first constructing a new array and then populating it with elements.

Some methods do not mutate the existing array that the method was called on, but instead return a new array. Object.prototype._lookupSetter_() Deprecated.Object.prototype._defineSetter_() Deprecated.Object.prototype._defineGetter_() Deprecated.
