javascript的Array.prototype.map()和jQuery的jQuery.map()

本文对比了Array.prototype.map与jQuery.map方法在处理undefined、null及数组时的不同行为。Array.map会保留undefined位置,而jQuery.map则会跳过;对于数组元素,Array.map将其作为一个整体元素处理,jQuery.map则迭代数组内的每个元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个方法都可以根据现有数组创建新数组,但在使用过程中发现有些不同之处

以下面这个数据为例:

var numbers = [1, 3, 4, 6, 9];

1. 对undefined和null的处理

array.map创建的新数组中对应的元素为undefined或null, jquery创建的新数组中则不包含这个元素

Array.prototype.map:

numbers.map(function(v, i, arr) {
    if (i == 3) {
        return undefined;
    }else{
        return { index: i, value: v, array: arr };
    }
})

结果如图:

jQuery.map:

$.map(numbers, function(v, i) {
    if (i == 3) {
        return undefined;
    } else {
        return { index: i, value: v};
    }
});

结果如图:

2. 对数组的处理

array.map将数组作为新创建数组的一个元素,jquery.map将数组中的每个元素作为新数组的元素

Array.prototype.map:

numbers.map(function(v,i,arr){
    return [ v + v, v * v]
})

结果如图:

jQuery.map:

$.map(numbers, function(v, i) {
    return [ v + v, v * v]
});

结果如图:

转载于:https://www.cnblogs.com/zoex/p/array-map.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值