js高级程序设计笔记9

2018-03-28  本文已影响0人  ycyc1996

数组方法

push()
pop()
shift()
unshift()

var a = [1,2,3]
a.reverse()  //  翻转
alert(a)  //3,2,1

var b = [1,3,2,0]
b.sort()  // 0,1,2,3  比较


b.sort(function(v1,v2){
  return v2-v1;
})

//3,2,1,0

var arr = arr1.concat(arr2) //  连接

arr.slice(1,3)  //切片,下标1,2
arr.splice(0,1)  //从下表0开始,删除1项
arr.splice(1,2,'yellow','gray')  //从下标1开始,删除两项,添加yellow,gray两项

var num = [1,2,3,4,5,6,7,8,9,0];
alert(num.indexOf(4))  //  3  查询,如果没有则返回-1 

//lastIndexOf() 和 indexOf()区别,lastIndexOf()从末尾开始寻找,indexOf()才能够数组头部开始寻找

数组迭代方法

every()

//对数组中的每一项运行指定函数,如果每一项都返回true,那么结果为true

var arr =[1,2,3] ;
var res = arr.every(function(item,index,array){
  return item > 0;
})

alert(res) // true

filter()

//对于数组的每一项运行指定函数,最终返回结果为true的元素组成的数组

var num = [1,2,3,4,5,6,7,8];
var res = num.filter(function(item,index,array){
  return item >= 3;
})

alert(res)  //3,4,5,6,7,8

forEach()

//对每一项运行函数,无返回值

[1,2,3].forEach(function(item,index,array){
  alert(item);
 })
//1,2,3

map()

//对于每一项运行函数,返回值组成新的函数

[1,2,3].map(function(item,index,array){
  return item*item;
 })

//1,4,9

some()

//对于每一项运行函数,如果任意一项为true,则结果为true;

数组归并方法

//ES5添加了reduce()和reduceRight()
//前者从第一项开始,后者从最后一项开始

var arr = [1,2,3,4,5];
var sum = arr.reduce(function(prev,cur,index,array){
  //prev为前一项的返回值,cur为当前项
  return prev+cur;
})

alert(15) // 15
上一篇下一篇

猜你喜欢

热点阅读