Javascript map() Metodu
ES5
map()
metodu, dizi içerisindeki tüm elemanları bir işlemden geçirmek için kullanılır. Her bir eleman tek tek işlenir, değerleri değiştirilebilir, geriye ne döndürüleceği belirlenebilir. Ve sonunda ise, işlemden geçen öğelerden oluşan bir dizi geriye döner.
Yapısı (Syntax)array.map(function(currentValue, index, arr), thisValue)
Parametreler
-
currentValue
( ! ) Notice: Undefined property: stdClass::$type in /home/prototurk.com/public_html/app/view/article-js.php on line 64 Call Stack # Time Memory Function Location 1 0.0004 360928 {main}( ) .../index.php:0 2 0.0050 445096 require( '/home/prototurk.com/public_html/app/controller/category.php' ) .../index.php:101 3 0.0084 456712 require( '/home/prototurk.com/public_html/app/view/article.php' ) .../category.php:34 4 0.0166 536640 parseTemplate( ) .../article.php:112 5 0.0166 536736 preg_replace_callback ( ) .../template.php:126 6 0.0166 537256 bb_json( ) .../template.php:126 7 0.0168 563624 require( '/home/prototurk.com/public_html/app/view/article-js.php' ) .../template.php:220 İşlemden geçen elemanın değeri -
index
( ! ) Notice: Undefined property: stdClass::$type in /home/prototurk.com/public_html/app/view/article-js.php on line 64 Call Stack # Time Memory Function Location 1 0.0004 360928 {main}( ) .../index.php:0 2 0.0050 445096 require( '/home/prototurk.com/public_html/app/controller/category.php' ) .../index.php:101 3 0.0084 456712 require( '/home/prototurk.com/public_html/app/view/article.php' ) .../category.php:34 4 0.0166 536640 parseTemplate( ) .../article.php:112 5 0.0166 536736 preg_replace_callback ( ) .../template.php:126 6 0.0166 537256 bb_json( ) .../template.php:126 7 0.0168 563624 require( '/home/prototurk.com/public_html/app/view/article-js.php' ) .../template.php:220 İşlemden geçen elemanın indis değeri -
arr
( ! ) Notice: Undefined property: stdClass::$type in /home/prototurk.com/public_html/app/view/article-js.php on line 64 Call Stack # Time Memory Function Location 1 0.0004 360928 {main}( ) .../index.php:0 2 0.0050 445096 require( '/home/prototurk.com/public_html/app/controller/category.php' ) .../index.php:101 3 0.0084 456712 require( '/home/prototurk.com/public_html/app/view/article.php' ) .../category.php:34 4 0.0166 536640 parseTemplate( ) .../article.php:112 5 0.0166 536736 preg_replace_callback ( ) .../template.php:126 6 0.0166 537256 bb_json( ) .../template.php:126 7 0.0168 563624 require( '/home/prototurk.com/public_html/app/view/article-js.php' ) .../template.php:220 İşlemden geçen elemanın ait olduğu dizi
Dönen Değer
İşlemden geçen öğelerden geriye kalan bir dizi döner.
NOT
Değeri olmayan dizilerde işe yaramaz.
Bu metod, varsayılan diziyi değiştirmez.
Bu metod, varsayılan diziyi değiştirmez.
Örnekler
Her elemanın karekökünü almak için map() metodunu kullanmak
Aşağıdaki kod, tüm elemanları karekökünü aldığımız bir işlemden geçirir.
let numbers = [1, 4, 9]
let roots = numbers.map(num => Math.sqrt(num));
console.log(roots); // [1, 2, 3]
console.log(numbers); // [1, 4, 9]
Objeyi yeniden biçimlendirmek için map() metodunu kullanmak
Aşağıdaki kod, dizi içindeki obje elemanlarının yeniden biçimlendirilmesini sağlar.
const users = [
{
name: "Tayfun",
surname: "Erbilen",
age: 27
},
{
name: "Mehmet",
surname: "Seven",
age: 27
}
];
const newUsers = users.map(user => {
user.fullName = `${user.name} ${user.surname}`;
return {
fullName: user.fullName,
age: `${user.age} years old`
}
});
console.log(newUsers)
console.log(users)
Şöyle bir kullanımı olduğunu da unutmayın.
const array = ['1', '2', '3'];
console.log(array.map(Number));