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

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

以下面这个数据为例:

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

1. 对undefined和null的处理

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

Array.prototype.map:

1
2
3
4
5
6
7
numbers.map(function(v, i, arr) {
    if (i == 3) {
        return undefined;
    }else{
        return { index: i, value: v, array: arr };
    }
})

结果如图:

jQuery.map:

1
2
3
4
5
6
7
$.map(numbers, function(v, i) {
    if (i == 3) {
        return undefined;
    } else {
        return { index: i, value: v};
    }
});

结果如图:

2. 对数组的处理

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

Array.prototype.map:

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

结果如图:

jQuery.map:

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

结果如图:

posted @   绿皮儿橘子  阅读(546)  评论(0)    收藏  举报
编辑推荐:
· tomcat为什么假死了
· 聊一聊 Linux 上对函数进行 hook 的两种方式
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一则复杂 SQL 改写后有感
· golang中写个字符串遍历谁不会?且看我如何提升 50 倍
阅读排行:
· 突发,CSDN 崩了!程序员们开始慌了?
· 完成微博外链备案,微博中直接可以打开园子的链接
· C# WinForms 实现打印监听组件
· C#实现欧姆龙 HostLink 通讯协议库
· 一个基于 .NET 开源、模块化 AI 图像生成 Web 用户界面
点击右上角即可分享
微信分享提示