JavaScript オブジェクトを配列に変換する方法: 1. 「[].slice.call(object)」ステートメントを使用する; 2. 「Array.from(object)」ステートメントを使用する、「Array.from( )" メソッドは、トラバース可能なオブジェクトを配列 (Set および Map データ構造を含む) に変換できます。
このチュートリアルの動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
1. 配列のようなオブジェクトとは
例:
let arrayLike = { '0':"z", '1':"y", '2':"k", length:3 };
本質は、長さ属性を持つということであり、これは配列の要素を取得するのと同様の方法で取得できますarrayLike [0]、arrayLike[1] 要素、arrayLike.length を通じて疑似配列の長さを取得することもできます。
一般的な疑似配列には、DOM 操作 (document.querySelectorAll('p')) を通じて取得された NodeList コレクションと関数の仮パラメーター引数が含まれます。
2. 変換方法
方法 1: [].slice.call(arrayLike) 経由
//获取当前dom的span组成的伪数组 let spanDomArr = document.querySelectorAll('span'); //通过数组的方法forEach遍历spanDomArr let arr = [].slice.call(spanDomArr); //因为spanDomArr是伪数组,不支持数组的forEach,所以需要先转换成数组 arr.forEach(function(span){ console.log(span) });
方法 2: Array.from(arrayLike) を使用する
//获取当前dom的span组成的伪数组 let spanDomArr = document.querySelectorAll('span'); //通过数组的方法forEach遍历spanDomArr //因为spanDomArr是伪数组,不支持数组的forEach,所以需要先转换成数组 Array.from(spanDomArr).forEach(function(span){ console.log(span) });
1. 機能:
1-配列のようなオブジェクトを配列に変換できます;
2-走査可能に変換できますオブジェクトを配列に変換します (ES6 の新しいデータ構造 Set および Map を含む);
2. 実際のアプリケーション:
1-現在のブラウザーがこのメソッドをデプロイしていない場合、代わりに Array.prototype.slice メソッドを使用できます
/* * 方法名:objectToArray * 功能介绍:把类似数组的对象、可遍历的对象转换成数组 * 参数:obj-需要转换的对象 */ var objectToArray = function(obj){ return Array.from ? Array.from(obj) : [].slice.call(obj); };
2-パラメータが配列の場合、同一の配列が返されます
Array.from(["z","y","k"]); //打印:["z","y","k"]
3-長さ属性のみを持つオブジェクトは渡すことができませんarray.from 変換
4-Array.from の 2 番目のパラメータ: は、各要素を処理し、処理された値を配列に入れるために使用されます。
let arrayLike = { "0" : "z", "1" : "y", "2" : "k", "length":3 }; Array.from(arrayLike,x=>x+'1'); //等同于 Array.from(arrayLike).map(x=>x+'1'); //打印:["z1","y1","k1"]
【関連する推奨事項: JavaScript 学習チュートリアル】
以上がJavaScriptでオブジェクトを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。