超级实用函数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);