Home >Web Front-end >Front-end Q&A >What are the new array methods in es6?

What are the new array methods in es6?

青灯夜游
青灯夜游Original
2023-01-29 14:02:487008browse

es6 array methods include: 1. Array.from(), used to convert array-like objects or traversable objects into real arrays; 2. Array.of(), used to convert a set of values, Convert to an array; 3. copyWithin(), used to copy members at the specified position to other positions within the current array; 4. fill(); 5. find(); 6. findIndex(); 7. includes() ; 8. entries(); 9. keys(); 10. values().

What are the new array methods in es6?

The operating environment of this tutorial: Windows 7 system, ECMAScript version 6, Dell G3 computer.

Traditional Array object methods

  • toSource() Returns the source code of the object.
  • toString() Converts an array to a string and returns the result.
  • toLocaleString() Converts the array to a local array and returns the result.
  • valueOf() returns the original value of the array object
##reverseindexOf(), lastIndexOf()spliceforEachcopyWithinmapfillfilterES6 array method
Modify the original array Do not modify the original array
push, pop concat
unshift, shift join
sort slice
##some
every
reduce,reduceRight
includes
finde, findIndex
entries(), keys(), values()


Array method

Array.from()

is used to combine two types of objects Convert to a real array: array-like object and iterable object (including ES6's new data structures Set and Map).

let arrayLike = {
    '0': 'a',
    '1': 'b',
    '2': 'c',
    length: 3
};

let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']

Array.from can also accept a second parameter, which is similar to the map method of an array. It is used to process each element and put the processed value into the returned array.

Array.from(arrayLike, x => x * x);
// 等同于
Array.from(arrayLike).map(x => x * x);

Array.from([1, 2, 3], (x) => x * x)
// [1, 4, 9]

Array.of()

is used to convert a set of values ​​into an array.

Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]

Instance method

will change the original array

    copyWithin ()
  • Within the current array, copies the members at the specified position to other positions (the original members will be overwritten), and then returns the current array.
array. copyWithin(target, start = 0, end = this.length);

target (required): The position from which to start replacing data. If it is a negative value, it represents the reciprocal value.
  • start (optional): Start reading data from this position, the default is 0. If it is a negative value, it represents the reciprocal value.
  • end (optional): Stop reading data before reaching this position. The default is equal to the array length. If it is a negative value, it represents the reciprocal value.
  • // 将3号位复制到0号位
    [1, 2, 3, 4, 5].copyWithin(0, 3, 4)
    // [4, 2, 3, 4, 5]
    
    // -2相当于3号位,-1相当于4号位
    [1, 2, 3, 4, 5].copyWithin(0, -2, -1)
    // [4, 2, 3, 4, 5]
    fill()
  • Fills an array with the given value.
['a', 'b', 'c'].fill(7);   // [7, 7, 7]

let arr = new Array(3).fill([]);
arr[0].push(5);       // [[5], [5], [5]]

Will not change the original array

    find()
  • is used to find out the A qualified array member. Its parameter is a callback function, and all array members execute the callback function in sequence until the first member whose return value is true is found, and then returns that member. If there are no matching members, undefined is returned.
The callback function of the find method can accept three parameters, which are the current value, the current position and the original array.

[1, 4, -5, 10].find((n) => n < 0)
// -5
[1, 5, 10, 15].find(function(value, index, arr) {
  return value > 9;
}) // 10

    findIndex()
  • The usage of the findIndex method is very similar to the find method, returning the position of the first array member that meets the conditions, If none of the members meet the criteria, -1 is returned.
[1, 5, 10, 15].findIndex(function(value, index, arr) {
  return value > 9;
}) // 2

    includes()
  • Returns a Boolean value indicating whether an array contains the given value.
[1, 2, 3].includes(2) // true

    entries(), keys() and values()
  • ES6 provides three new methods: entries(), keys( ) and values(), used to traverse the array. They both return a traverser object, which can be traversed using a for...of loop. The only difference is that keys() traverses the key names of the array, values() traverses the key values ​​​​of the array, and the entries() method It is a traversal of key-value pairs of values.
for (let index of [&#39;a&#39;, &#39;b&#39;].keys()) {
  console.log(index);
}
// 0
// 1

for (let elem of [&#39;a&#39;, &#39;b&#39;].values()) {
  console.log(elem);
}
// &#39;a&#39;
// &#39;b&#39;

for (let [index, elem] of [&#39;a&#39;, &#39;b&#39;].entries()) {
  console.log(index, elem);
}
// 0 "a"
// 1 "b"

If you do not use a for...of loop, you can manually call the next method of the traverser object to traverse.

let letter = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
let entries = letter.entries();
console.log(entries.next().value); // [0, &#39;a&#39;]
console.log(entries.next().value); // [1, &#39;b&#39;]
console.log(entries.next().value); // [2, &#39;c&#39;]

[Recommended learning:

javascript advanced tutorial

]

The above is the detailed content of What are the new array methods in es6?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn