一.数组的一些操作(forEach,every,some,map)
var array = [2,4,6,8,10]
1.forEach(item,index,arr) 是遍历,循环.第一个参数表示每次传入的值,第二个参数表示每个值的索引(0,1,2,3,4),第三个参数表示数组
array.forEach(function(item,index,arr){
return '数组每个值'+item+'每个值的索引'+index+'数组'+arr
})
2.every(item) 参数表示数组中的值必须符合参数所设定的值
array.every(function(item){
return item>10
})
输出的是false或true
3.some(item) 参数表示只要有符合当前元素就为true
array.every(function(item){})
4.map(item,index,arr) 返回一个新的数组,可传入一个参数,第一个参数表示每次传入的值,第二个参数表示索引,第三个表示当前数组
var result = array.map(function(item){
return Math.pow(item,2) //Math自带的方法.pow()第二个参数是幂值.
})
console.log(result) //输出新的数组[4,16,36,64,100]
Math其他对象方法 (常用的几个)(重要)
abs(x) 返回数的绝对值
ceil(x) 取比该值大的整数,进行上舍入.
floor(x) 取比该值小的整数,进行下舍入.
max(x,y) 取出最大值
min(x,y) 取出最小值
random() 返回0-1的随机值
round(x) 四舍五入
pow(x,y) 返回x的y次幂
5.filter(item) 返回的是一个符合参数值的新数组,如果不符合条件,就会删除,符合则会保留
var result = arrary.filter(function(item){
return item >4
})
console.log(result) //只会返回一个新的数组[5],其他不符合会抛弃
6.indexOf(item) 参数表示传入的内容,符合内容的话它会返回在数组的第一次出现的位置位置,不存在返回-1
lastIndexOf(item) 参数表示传入的内容,符合内容的话它会返回在数组最后一次出现的位置,不存在返回-1
7.reduce(prev,current,index,arr) 返回数组累加计算后的值 .传入2个或2个以上的参数
第一个参数表示:初始值,每次计算结束后的返回值,第二个:当前元素 . 第三个:当前元素的索引,第四个:当前整个数组
var result = arrary.reduce(function(prev,current){
return prev+current
})
console.log(result) //最终得到数组累加后的值,为2+4+6+8+10