Arrayに書き込み可能な有用な関数「map」
8328 ワード
Array.prototype.map()
"The map() method creates a new array populated with the results of calling a provided function on every element in the calling array."
=>アレイ内の各要素にアクセスし、関数を実行し、結果を収集して新しいアレイに戻る場合は、この関数を使用します.
Syntax
// Arrow function
map((element) => { /* ... */ })
map((element, index) => { /* ... */ })
map((element, index, array) => { /* ... */ })
// Callback function
map(callbackFn)
map(callbackFn, thisArg)
// Inline callback function
map(function(element) { /* ... */ })
map(function(element, index) { /* ... */ })
map(function(element, index, array){ /* ... */ })
map(function(element, index, array) { /* ... */ }, thisArg)
arrayの各要素には、パラメータとして呼び出されたコールバック関数があります.コールバック関数が実行されるたびに、返される値が新しい配列に追加されます.このコールバック関数には、以下のような様々なパラメータがあります.
arrayで進行中の現在の要素を表します.
arrayで行われている現在の要素を表すindex.
mapは呼び出しの配列を表す.
これはcallback関数の実行時に使用される値を意味します.
戻り値
map()を実行すると、各要素に対してコールバック関数を実行した結果を含む新しい配列が返されます.
したがって、以下の場合、map()と比較してforeachまたはfor...ofを使ったほうがいいです.
📌はい。
class Asset {
constructor(name,shape,price) {
this.name = name;
this.shape = shape;
this.price = price;
}
}
const assetList = [
new Asset('car', '🚗', 10000000),
new Asset('house', '🏡',2000000000),
new Asset('cash','💵', 3000000)
];
//Q. assetList에서 price만 담은 배열을 만들고 싶다면?
const priceList = assetList.map(asset => asset.price);
console.log(priceList); //output: [10000000, 2000000000, 3000000]
リファレンスhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Reference
この問題について(Arrayに書き込み可能な有用な関数「map」), 我々は、より多くの情報をここで見つけました https://velog.io/@yebb/JavaScript-Array에-쓸-수-있는-유용한-함수-mapテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol