知识点(五)
一、数组操作
1、数组的每一项可以保存任何类型的数据,数组大小可以动态调整的
2、数组的length属性不是只读的。通过设置这个属性可以从数组的末尾移除项或添加新项
3、检测数组Array.isArray(value)是否是数组
4、转换方法 colors.toString() colors.valueOf()
5、栈(后进先出)方法pop()---返回数组最后一项 push()--将字符串推入数组的末尾
6、队列(先进先出)方法shift()---移除数组第一项并返回该项,数组长度减1 push()--向数组末尾加项,方法unshift()--向数组前端添加任一项
7、重排序 sort()---按升序排列数组,最小值位于最前面,sort比较是字符串,调用前会先调用tostring方法
reverse()---反转数组原来的顺序
8、操作方法 slice()
var colors=['0','1','2','3','4','5','6']
colors.slice(1)//1,2,3,4,5,6 开始位置到结束(包括开始和结束) colors.slice(1,4)//1,2,3,(包括开始,不包括结束)
colors.splice(0,1)//colors变成1,2,3,4,5第一个参数是位置,第二个参数是删除数 ,返回被删除的项
colors.splice(1,0,6,7,8)//colors变成0,6,7,8,1,2,3,4,5,6第一个参数是位置,第二个参数是删除个数 ,剩下的参数为插入的项,返回被删除的项
colors.splice(1,1,6,7,8)//colors变成0,6,7,8,2,3,4,5,6第一个参数是位置,第二个参数是删除个数 ,剩下的参数为插入的项,返回被删除的项
9、位置方法
indexOf 从数组开头开始找 lastIndexOf()从数组末尾开始找 没找到的话返回-1
10、迭代方法
aaa、every() 对数组每一项运行给定函数,如果该函数每项都返回true,则返回true
var number=[1,2,3,4,5,6,7,8]
var everyResult=number.every(function(item,index,array){
return(item>2);
})
console.log(everyResult)//false
bbb、 some() 对数组每一项运行给定函数,如果该函数任一项返回true,则返回true 、
var everyResult=number.some(function(item,index,array){
return(item>2);
})
console.log(everyResult)//true
ccc、filter() 对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组
var everyResult=number.filter(function(item,index,array){
return(item>2);
})
console.log(everyResult)//[3,4,5,6,7,8]
ddd、map() 对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组
var everyResult=number.map(function(item,index,array){
return(item*2);
})
console.log(everyResult)//[2,4,6,8,10,12,14,16]
eee、foreach() 对数组的每一项运行给定函数,这个方法没有返回值----本质就是for循环
number.foreach(function(item,index,array){
//执行某些操作
})
11、归并方法
reduce()从数组的第一项开始,逐个遍历到最后
reduceRight()从数组最后一项开始,向前遍历到第一项