console.log(item))"。"/> console.log(item))"。">

ホームページ  >  記事  >  ウェブフロントエンド  >  ES6で擬似配列を配列に変換する方法

ES6で擬似配列を配列に変換する方法

青灯夜游
青灯夜游オリジナル
2022-05-05 14:03:431886ブラウズ

ES6 では、配列型の from() メソッドを使用して、擬似配列を配列に変換できます。このメソッドは、配列のようなオブジェクトまたはトラバース可能なオブジェクトを実際の配列に変換できます。 "Array.from(擬似配列オブジェクト).forEache(item=>console.log(item))"。

ES6で擬似配列を配列に変換する方法

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

ECMAScript6 の新機能 - 擬似配列

擬似配列とは: オブジェクトのすべてのキーが正の整数またはゼロで、長さ属性がある場合、このオブジェクトは配列と同じように、擬似配列と呼ばれます。

典型的な疑似配列: 引数オブジェクト、ほとんどの DOM 要素セット、および文字列。

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

上記の arrayLike オブジェクトと同様に、このオブジェクトには長さ属性があり、キーも順序付けされたシーケンスです。

したがって、トラバースして長さをクエリすることができます。ただし、配列メソッドを呼び出すことはできません。プッシュ、ポップ、その他のメソッドなど。

ES6 より前には、共通の疑似配列: 引数もありました。

arguments も配列のように見えますが、配列メソッドはありません。

たとえば、arguments.push(1) では、間違いなくエラーが報告されます。

ES6 で擬似配列を配列に変換する方法

ES6 では、Array 型の from メソッドを使用して変換できます。擬似配列を配列に変換します。

Array.from() メソッドは、2 種類のオブジェクトを実際の配列に変換するために使用されます:

1. 配列のようなオブジェクトは、「疑似配列」として理解できます

2. 走査可能なオブジェクト (文字列など)

  <button name="button">测试1</button>
    <br/>
    <button name="button">测试2</button>
    <br/>
    <button name="button">测试3</button>
    <br/>
<script>
//声明变量let变量,const常量
let btns=document.getElementsByName("button");
console.log("btns",btns);//得到一个伪数组
//此处出现异常:Uncaught TypeError:btns.forEach is not a function 
btns.forEach(item=>console.log(item))
</script>
<script>
Array.from(btns).forEache(item=>console.log(item))//将伪数组转换为数组
</script>

Array.from の主な機能は、擬似配列と走査可能なオブジェクトを配列に変換することです。

「メイン関数」と言う理由は、Array.from が渡すパラメーターも 2 つ提供しているためです。これにより、さまざまな種類の小さなゲームプレイを拡張できます。

  • Array.from の 2 番目のパラメーターは、マップ トラバーサル メソッドと同様の関数です。横断するために使用されます。

  • Array.from の 3 番目のパラメーターは、this ポインターを変更するために使用される this オブジェクトを受け入れます。

3 番目のパラメータの使用法 (一般的には使用されません)

let helper = {
 diff: 1,
 add (value) {
  return value + this.diff; // 注意这里有个 this
 }
};

function translate () {
 return Array.from(arguments, helper.add, helper);
}

let numbers = translate(1, 2, 3);

console.log(numbers); // 2, 3, 4

知識を広げる: 文字列を配列に変換する

let msg = &#39;hello&#39;;
let msgArr = Array.from(msg);
console.log(msgArr);
// 输出: ["h", "e", "l", "l", "o"]

[関連する推奨事項: JavaScript ビデオ チュートリアル Web フロントエンド ]

以上がES6で擬似配列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。