【JQuery】map循环与each循环的对比学习

前言

尽管是这两个方法是封装起来的,但是其思想尤为重要,将面向步骤过程操作,变成一个函数式的操作函数式编程是一个流水线生产模式!现在听着可能有点蒙蔽,那就和小编一起来搞定它吧!

1、map方法

$.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为 新的数组返回。

语法
$.map( object, callback )前边的object是对象或者数组,后边的callback是一个我们自己定义的函数!用来对我们的对象或者数组进行操作!

callback的写法一般为function(v,i)为函数传入两个参数:v是当前迭代的元素或属性值,i是当前迭代项的数组索引或对象属性名。 (元素对应的是索引)(属性值对应的是对象属性名)接下来分别举一个遍历数组的例子和一个对象的例子!

    var arr1 = [12, 3, 4, 0 - 9];
    var new_arr = $.map(arr1, function (v, i) {
        return v * 2;
    });
    alert(new_arr);
    
//返回的是[24,6,80,-18]


    var o = { name: "李光", age: 19, sex: "男" };
    $.map(o, function (k, v) {
        alert(k + "-----" + v);        
    });
    
    //	返回结果:李光-----name
				19-----age
				男-----sex

2、each方法

each() 方法为每个匹配元素规定要运行的函数。
提示:返回 false 可用于及早停止循环。

语法
$.each(object,function(index,element)) 这个同上,不做解释,下边的是一个例子!

    var o = { name: "李光", age: 19, sex: "男" };
    $.each(o, function (k, v) {
        alert(k + "-----" + v);            
    });
    //	返回结果:name-----李光
				age-----19
				sex-----男

综上所述,二者可以实现相同的功能,那么二者到底有什么区别呢,接下来用三句话总结一下!

map()方法主要用来遍历操作数组和对象,each()主要用于遍历jquery对象。
each()返回的是原来的数组,并不会新创建一个数组。
map()方法会返回一个新的数组。如果在没有必要的情况下使用map,则有可能造成内存浪费。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值