ホームページ > 記事 > ウェブフロントエンド > es6 で配列のようなオブジェクトを配列に変換する方法
変換方法: 1. 「for in」ステートメントを使用して、配列のようなオブジェクトを配列に変換します。構文は「for(var i in obj){console.log(arr.push(obj)」です。 [i])); }"; 2. 組み込みオブジェクトのキーと値、構文「Object.keys(obj)」および「Object.values(obj)」を使用します。 3. 次の from() 関数を使用します。 Array オブジェクト、構文「Array.from(obj)」。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
JavaScript には、配列に似ていても配列ではない、配列様オブジェクトと呼ばれるオブジェクトがいくつかあります。
には、0 から始まる整数と 自然に増加する整数がキー として含まれており、要素の数を表すために使用される length オブジェクトも定義されています。通常、 のような配列オブジェクトとみなされます。
クラス配列を配列に変換します
#最初のメソッド: for in を使用して、配列のようなオブジェクトを配列に変換します。<script type="text/javascript">
var obj = {
0: 'a',
1: 'b',
2: 'c',
};
console.log(obj[0]);
console.log(typeof obj);
var arr = [];
for(var i in obj){
console.log(arr.push(obj[i]));
}
console.log(arr);
//把类数组对象放在一个名为arr的新数组里使得obj变成了数组
console.log(arr instanceof Array);//判断arr是否为数组
</script>
次の場合オブジェクト全体を取得します:
let arr1 = [] for (let i in obj) { let newobj = {} newobj[i] = obj[i] arr1.push(newobj); } console.log(arr1);2 番目のメソッド: 組み込みオブジェクトのキーと値
組み込みオブジェクト Object.keys: キーを取得します
組み込みオブジェクト Object.values は値を取得します
#let obj = { '1': 5, '2': 8, '3': 4, '4': 6 }; //内置对象Object.keys:获取键 var arr = Object.keys(obj) console.log(arr); //内置对象Object.values获取值 var arr2 = Object.values(obj) console.log(arr2);
# 3 番目のメソッド: Array.from( )
let obj = { '0': 5, '1': 8, '2': 4, '3': 6, 'length':4 }; let arr = Array.from(obj) console.log(arr);
Array.from() はオブジェクトを配列に変換し、2 つの条件を満たす必要があります
1: キーは数値である必要があります。
2: 長さが必要なキーと値のペア
長さを記述しない場合:
長さのキーと値のペアを追加する場合:
##知識の拡大: for of、for in、forEach の違い
#let arr = ['周一', '周二', '周三', '周四','周五','周六','周日'] // for of for (let item of arr) { console.log(item); } // for in for (let i in arr) { console.log(i); } // forEach arr.forEach(item => { console.log(item); })
効果は図に示すとおりです。
#forEach メソッドは、 array の各要素を呼び出し、その要素をコールバック関数に渡すために使用されます。
for of
ループ1.
for-in
Continue、
return3.
for-of ループを使用すると、配列のトラバーサル以上の機能がサポートされます。 。また、多くの配列のようなオブジェクトにも適用できます
4。string
traversal5 もサポートします。for-of は、元のネイティブ オブジェクトの処理には適していません
for in
注: for..in ループは特定の型のプロトタイプ内のメソッドとプロパティを走査するため、コード内で問題が発生する可能性があります 予期しないエラー
##1、foreach
メソッドでは、return、break、 continue ステートメントを使用してループを終了することはできません (1) パラメータは走査された配列の内容です (必須)
(3) パラメータは配列自体です (オプション)
3. 配列関数の各要素に対して、指定された要素を 1 回実行します。未定義を返します
[推奨学習: JavaScript ビデオ チュートリアル ]
以上がes6 で配列のようなオブジェクトを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。