之前并没有过多的使用过这个Api,在此记录下对其的理解,方便以后多多使用。
首先是对map的说明:
var mappedArray = array.map(callback[, thisObject]); callback: 要对每个数组元素执行的回调函数。 thisObject : 在执行回调函数时定义的this对象。
其可以为数组中的每一个元素执行一次回调函数,并将返回值存入一个新数组中。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。map 不会改变原有数组,调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。
例子:
//例子,arr为原始数组 var arr = [ {name: ‘gonn‘, age: 20, sex: ‘1‘, No: ‘274200‘}, {name: ‘nowamagic‘, age: 30, sex: ‘0‘, No: ‘274011‘}, {name: ‘frie‘, age: 40, sex: ‘1‘, No: ‘274212‘} ]; //使用map更改数组每项的值,可对数组每一项元素内部进行增删改,也可以通过return null来删除数组的某项 var arr2 = arr.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 }; });
时间: 2024-10-21 04:03:46