jq中的map函数

来源:互联网 发布:node js ide 编辑:程序博客网 时间:2024/05/03 14:28
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><script>//在jquery中map方法也可以完成类似于each方法的遍历功能,但是map最大的特点是返回一个新数组,返回的数组中的每一个元素由回调函数的返回值决定,如果回调函数不返回数据,则map方法返回的数组长度为0;如果回调函数返回了数据,则map方法将其加入到数组中返回function map (array,callback){var res = [],tmp;//判断如果传入的是数组或伪数组if(isArrayLike(array)) {for (var i = 0; i < array.length; i++) {tmp = callback(array[i],i);if(tmp!==undefined) {//函数什么时候才会返回undefined?函数没有返回值或者return后面没有值的时候res.push(tmp);}}} else {for(var k in array) {tmp = callback(array[k],k);if(tmp!==undefined) {res.push(tmp);}}}return res;}function isArrayLike(obj) {return typeof obj.length ==='number'&&obj.length>=0;}//验证map 返回一个各项扩大二倍的新数组var arr = [1,2,3,4,5];var newArr = map(arr,function(v,i) {return v*2;})console.log(newArr);//[2,4,6,8,10]//如果回调函数不反回数据var newArr = map(arr,function(v,i) {})console.log(newArr);//[]</script></body></html>

2 0
原创粉丝点击