jQuery.map() 方法
jQuery $.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回
语法
$.map( object, callback )
参数
参数 | 描述 |
---|---|
object | Array/Object类型 指定的需要处理的数组或对象 |
callback | Function类型 指定的处理函数 |
说明
- 在jQuery 1.6 之前,该函数只支持遍历数组;从 1.6 开始,该函数也支持遍历对象
- map() 还会为函数传入两个参数: 其一是当前迭代的元素或属性值, 其二是当前迭代项的数组索引或对象属性名
- 该函数返回值将作为结果数组中的一个元素,如果返回值为null或undefined,则不会被添加到结果数组中
范例
使用 $.map() 修改一个数组的值
<div></div> <p></p> <span></span> <script> $(function () { var arr = [ "a", "b", "c", "d", "e" ]; $("div").text(arr.join(", ")); arr = $.map(arr, function(n, i){ return (n.toUpperCase() + i); }); $("p").text(arr.join(", ")); arr = $.map(arr, function (a) { return a + a; }); $("span").text(arr.join(", ")); }) </script>
更多范例
-
将原始数组中的每个值加 4 后,映射到新的数组中
-
将原数组中大于 0 的数值加 1 后映射到新的数组中
-
将原数组中的每个值及该值加 1 后的结果映射到新生成的数组
-
将原对象中的每个值乘 2 后,映射到新生成的数组中
-
将对象中的键映射到新生成的数组中
-
将原始数组中每个值的两次方作为返回结果,映射到新生成的数组中
-
通过在处理函数中返回 null 的方式来移除该元素,移除小于 50的值,同时将未被移除的元素值减小 45
-
通过在处理函数中返回数组的方式,在最终返回的结果数组中添加元素