JS Array.filter()方法 JS Array.filter()方法

JS Array.filter()方法

今天学习了Array的filter方法,MDN上解释的是filter()方法中行参是一个回调函数.这个回调函数就是一个规则,返回一个布尔值.filter()方法会对数组中每一个元素使用这个回调函数.注意,这里说的是每一个元素.并且将返回值为true的元素装入一个新数组返回.代码如下:
[html]  view plain  copy
  1. var arr = ["关羽","woi","赵子龙","马zi超","黄忠"];  
  2. var arr1arr.filter(function(ele,index,array){  
  3.     if(ele.length>2){  
  4.         return true;  
  5.     }  
  6.     return false;  
  7. })  
  8. console.log(arr);  
  9. console.log(arr1);  

这里定义的function是判断元素的长度,如果大于2 返回true....可是return不是结束function吗?答案是yes.那既然是这样,在控制台输出"赵子龙"的时候filter()这个方法应该结束了啊.其实不然.

return只是结束掉了定义的function,而filter()这个方法内部有一个类似for循环的句式对元素进行依次判断function的功能

猜你喜欢

转载自blog.csdn.net/danglina123/article/details/80712778