es6では、擬似配列を配列に変換する方法はどうですか?

ES6では、Array.from()メソッドを使って、配列風オブジェクト(疑似配列)を本当の配列に変換することができます。

偽の配列は配列に似た特性を持つが、配列のメソッドや属性を持たないオブジェクトです。代表的な偽の配列には、argumentsオブジェクト、DOM NodeListオブジェクトなどがあります。

Array.from()メソッドを使用して疑似配列を配列に変換するコード例を以下に示す:

// 伪数组
var arrayLike = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
};

// 将伪数组转换为数组
var array = Array.from(arrayLike);

console.log(array); // ['a', 'b', 'c']

Array.from()メソッドは、イテラブルオブジェクトを引数として受け取り、新しい配列を返します。このメソッドは、イテラブルオブジェクトを走査し、その要素を新しい配列に1つずつ追加します。

Array.from()メソッドを使用する際に注意すべき点は、数値のキーとlengthプロパティを持つオブジェクトのみを変換できるということです。したがって、疑似配列を配列に変換する前に、疑似配列オブジェクトが正しいキーと長さプロパティを持っていることを確認する必要があります。

別の方法として、特定のタイプの疑似配列を配列に変換するには、Array.from()メソッドの第2引数を使用してマッピングできます。たとえば、DOM NodeListオブジェクトを配列に変換する場合:

// DOM NodeList对象
var nodeList = document.querySelectorAll('div');

// 将DOM NodeList对象转换为数组
var array = Array.from(nodeList, element => element.textContent);

console.log(array); // 包含了每个div元素的文本内容的数组

上記の例では、Array.from()メソッドの第2引数は、各要素をテキストにマッピングし、そのマッピング結果を新しい配列に追加するためのマッピング関数です。

要结论:Array.from()メソッドを使用すると、疑似配列を簡単に配列に変換でき、第2引数を使用して要素をマッピングすることができます。

bannerAds