ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でオブジェクトのマップ関数を作成するにはどうすればよいですか?
JavaScript でのオブジェクトのマップ関数の作成 (Array.map の代替)
JavaScript では、Array.prototype.map()このメソッドは、配列を反復処理し、指定された関数を各要素に適用するために広く使用されています。ただし、オブジェクトに対して同様のネイティブ メソッドは存在しません。この記事では、オブジェクトのカスタム マップ関数を導入することで、この制限に対する解決策を検討します。
問題:
キーと値のペアを持つオブジェクトを考えてみましょう:
myObject = { 'a': 1, 'b': 2, 'c': 3 };
目標は、各値が指定された関数によって変換される新しいオブジェクトを作成することです。たとえば、値を 2 倍にしてみましょう:
newObject = myObject.map(function(value, label) { return value * 2; }); // newObject should now be { 'a': 2, 'b': 4, 'c': 6 }
解決策:
JavaScript にはオブジェクトのネイティブ マップ関数がありませんが、オブジェクトを使用する洗練された解決策があります。 key() および forEach() メソッド:
var myObject = { 'a': 1, 'b': 2, 'c': 3 }; Object.keys(myObject).forEach(function(key, index) { myObject[key] *= 2; }); console.log(myObject); // Output: { 'a': 2, 'b': 4, 'c': 6 }
この中でコード:
このアプローチでは、元のオブジェクトがその場で変更されますが、特定のシナリオでは望ましくない可能性があります。変換された値を使用して新しいオブジェクトを作成するには、変換を適用する前に元のオブジェクトのクローンを作成するだけです。
以上がJavaScript でオブジェクトのマップ関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。