使用$.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>运行一下 »
$.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回。
注意:1. 在jQuery 1.6 之前,该函数只支持遍历数组;从 1.6 开始,该函数也支持遍历对象。
2. map()还会为函数传入两个参数:其一是当前迭代的元素或属性值,其二是当前迭代项的数组索引或对象属性名。
3. 该函数返回值将作为结果数组中的一个元素,如果返回值为null或undefined,则不会被添加到结果数组中。
参数 | 描述 |
---|---|
object | Array/Object类型 指定的需要处理的数组或对象。 |
callback | Function类型 指定的处理函数。 |
原数组中的每个值加 4
将原始数组中的每个值加 4 后,映射到新的数组中。
原数组中大于 0 的数值加 1
将原数组中大于 0 的数值加 1 后映射到新的数组中。
原数组的值加 1
将原数组中的每个值及该值加 1 后的结果映射到新生成的数组。
原数组的值乘以 2
将原对象中的每个值乘 2 后,映射到新生成的数组中。
对象中的键
将对象中的键映射到新生成的数组中。
原数组的值的平方
将原始数组中每个值的两次方作为返回结果,映射到新生成的数组中。
移除元素
通过在处理函数中返回 null 的方式来移除该元素,移除小于 50的值,同时将未被移除的元素值减小 45。
添加元素
通过在处理函数中返回数组的方式,在最终返回的结果数组中添加元素。