Транслирующая функция, которая обеспечивает данный метод вызывается для каждого элемента в массиве и передаёт два аргумента: индекс массива и элементы подлежащие трансляции. Функция затем может вернуть: транслируемую переменную, 'null' (удалить элемент), или массив переменных - которые распределяются по всему массиву.
Пример:
Пара примеров использования функции map()
"jQuery"
var arr = [ "a", "b", "c", "d", "e" ]
$("div").text(arr.join(", "));
arr = jQuery.map(arr, function(n, i){
return (n.toUpperCase() + i);
});
$("p").text(arr.join(", "));
arr = jQuery.map(arr, function (a) { return a + a; });
$("span").text(arr.join(", "));
"HTML"
<div></div>
<p></p>
<span></span>
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css"
rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
var arr = [ "a", "b", "c", "d", "e" ]
$("div").text(arr.join(", "));
arr = jQuery.map(arr, function(n, i){
return (n.toUpperCase() + i);
});
$("p").text(arr.join(", "));
arr = jQuery.map(arr, function (a) { return a + a; });
$("span").text(arr.join(", "));
});
</script>
</head>
<body class="iframe">
<div></div>
<p></p>
<span></span>
</body>
</html>
Пример:
Отобразить исходный массив в новом массиве и добавить 4 к каждому значению массива.
"jQuery"
jQuery.map( [0,1,2], function(n){
return n + 4;
});
Пример:
Отобразить исходный массив в новом массиве и добавить 1 к каждому значению массива, если значение массива больше чем ноль, остальные значения удалить.
"jQuery"
jQuery.map( [0,1,2], function(n){
return n > 0 ? n + 1 : null;
});
Пример:
Отобразить исходный массив в новом массиве, добавить значения исходного массива, после чего к каждому значению добавить единицу.
"jQuery"
jQuery.map( [0,1,2], function(n){
return [ n, n + 1 ];
});
Пример:
Отобразить исходный массив в новом массиве, каждый элемент возвести в квадрат.
"jQuery"
jQuery.map( [0,1,2,3], function (a) { return a * a; } );