JavaScript实用函数之map

超级实用函数map,啥也不说了,看下面这个例子吧

//扩展原型对象
Array.prototype.map = function(fn){
    var a = [];
    for(var i = 0; i < this.length; i++){
        var value = fn(this[i], i);
        if(typeof value === 'undefined' || value === null){
            continue; //如果函数fn返回null,则从数组中删除该项
        }
        a.push(value);
    }
    return a;
};
//例子,aa为原始数组
var aa = [
    {name: 'realwall', age: 20, sex: '1', No: '274200'},
    {name: 'jim', age: 30, sex: '0', No: '274011'},
    {name: 'tom', age: 40, sex: '1', No: '274212'}
    ];

//使用map更改数组每项的值,可对数组每一项元素内部进行增删改,也可以通过return null来删除数组的某项
var bb = aa.map(function(item, i){
    item.sex = item.sex == '0' ? '女' : '男';
    if(item.name == 'tom'){
        return null; //删除name为tom的项
    }
    return {
        index: i,
        name: item.name,
        age: item.age + 30 + i,
        sex: item.sex
    };
});

console.log(bb);

  

  

原文地址:https://www.cnblogs.com/realwall/p/2269802.html