reduce()方法
语法:arr.reduce(function(pre,cur,index,arr){ 函数体},init)其中,arr表示数组,pre表示上一次调用回调函数时的返回值,或者初始值init,arr表示当前正在处理的数组元素,index表示正在处理的数组元素的索引。若提供init值,则索引为0,否则为1,init表示初始值;
实例:
①求数组各项之和:
var a=arr.reduce(function(pre,cur0{return pre+cur;},0);
②求数组项最大值:
var b=arr.reduce(function(pre,cur){return Math.max(pre,cur);})
其他的类似方法还有reduceRight(),遍历顺序相反;
reduce()是数组的迭代方法,与forEach()、map()、filter()等迭代方法一样都会对数组每一项进行遍历,但reduce()可同时将前面的数组项遍历产生的结果与当前遍历项进行运算;
charCodeAt()、charAt()方法
语法:string.charCodeAt(index),index表示字符串中某个位置的数字,返回值为返回在指定的位置的字符的Unicode值;
string.charAt(index),index为字符串下标;
注意:js并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为1的字符串。如果index<0或者是index>string.length-1;则返回空字符串;
遍历方法
ES5:
forEach()——用于遍历数组,无返回值;
map()——返回处理之后的新数组;
every()——用于判断数组中的每一项元素是否都满足一个条件,返回一个布尔值;
some()——用于判断数组中是否存在满足条件的元素,返回一个布尔值;
filter()——用于筛选数组中满足条件的元素,返回一个筛选后的数组;
上述方法中第二个参数用于指定匿名函数内this的指向。
ES6:
for-of——用来遍历数组中的元素;
for-in——遍历包含键值对的对象,对数组不是很友好;’