Array对象
连接两个或更多的数组,并返回结果。 | |
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | |
删除并返回数组的最后一个元素 | |
向数组的末尾添加一个或更多元素,并返回新的长度。 | |
颠倒数组中元素的顺序。 | |
删除并返回数组的第一个元素 | |
从某个已有的数组返回选定的元素 | |
对数组的元素进行排序 | |
删除元素,并向数组添加新元素。 | |
返回该对象的源代码。 | |
把数组转换为字符串,并返回结果。 | |
把数组转换为本地数组,并返回结果。 | |
向数组的开头添加一个或更多元素,并返回新的长度。 | |
返回数组对象的原始值 |
函数方法
1,forEach() (es5)
forEach,for in , for,for of的区别
let arr = [1,2,3,4,6];arr.w = 100 //数组的私有属性arr.forEach((item)=>{ //不能return,必会执行完。 console.log(item)})for(let val of arr){ //支持return 并且是值of数组(不能遍历对象) console.log(val)}for(let key in arr){//key 会变成字符串,包括数据的私有属性也可以打印出来console.log( typeof key)}复制代码
2,filter() 过滤
//filter 过滤) 是否操作原数组:不会 ; 这个方法返回结果:过滤后的新数组 ; 回调函数的返回结果:true,这一项放到新数组 let aaa = arr.filter(item=>{ return item<5})console.log(aaa)复制代码
3,map() 映射
复制代码
//map 映射 降原有的数组映射成一个新数组 )不操作原数组;返回新数组;回调函数中返回什么就是什么// 要映射一个结果为:
4,some()
//some)同find一样只不过返回的不是找到的那一项,返回的是true;也是找到后停止,找不到就是false复制代码
5,every()
//every)找到false后停止返回false;复制代码
6,reduce()
// reduce 收敛 :4个参数,返回的是叠加后的结果,原数组不变。回调函数返回的结果://prev代表的是数组的第一项,next是数组的第二项//第二次的prev是undefined,next是数组的第三项let sum1 = arr.reduce(function (prev,next,index,item) { console.log(arguments) console.log(prev,next) return 100 //本次的返回值会作为下一次的prev})console.log(sum1)let sum2 = [{price:20,count:2},{price:20,count:3},{price:20,count:4}].reduce(function(prev,next){ //0+40 //40+60 //100+80 return prev+next.price*next.count},0) //这可以指定第一次的prev是0,因为每次返回的是值所以这样最方便console.log(sum2)复制代码
7,includes()
//includes ) 返回是Booleanlet arr3 = [1,2,55,555]console.log(arr3.includes(5))复制代码
8,find()
//find ) 返回找到的那一项,不会改变数组,回调函数中返回true表示找到了,然后停止循环,找不到返回undefined;let find = arr3.find(function (item,index) { return item.toString().indexOf(5)>-1})console.log(find)复制代码