map、forEach 乱用 ,被嫌弃,现整理区别 补补基础
Array 迭代方法
1. every(): 对数组中的每一项运行给定函数,如果该函数对每一项都返回true ,则返回true。
2. filter(): 对数组中的的每一项运行给定函数,返回该函数会返回true的项组成的数组。
* 利用指定的函数确定是否在返回的数组中包含某一项。
* 这个方法对查询符合某些条件的所有数组项非常有用
3. forEach(): 对数组中的每一项运行给定函数。这个方法没有返回值
* 只是对数组中的每一项运行传入的函数。这个方法没有返回值,本质上与使用for循环迭代数组一样。
4. map(): 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
* 返回一个数组,而这个数组的每一项都是在原始数组中的对应项上运行传入函数的结果。这个方法适合创建包含的项与另一个数组一一对应的数组
5. some(): 对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。
以上方法都不会修改数组中的包含的值
for 循环 +break
for(var i=0; i<config.length; i++){
var item = config[i];
if( _url.indexOf(item.address) == 0){
curConfig = item;
project = item.name;
req.url = _url.replace(item.address,project);
break;
}
}
some
config.some(function(item) {
if (path.indexOf(item.alias) == 0) {
projectConf = item;
path = '/' + item.name + path.substring(item.alias.length);
return true;
}
});