数组的一些常用方法分析 介绍

###数组###
数组(Array):一组有序(数据按照一定的顺序进行排练)数据的集合,
在js中,数组本质潜水就是一个
数组长度是根据数组3
的最大索引值加 1 得来的。
创建数组的两种方式:
1 new Array([ data1,data2......]):
该函数可以接收0到n个值,这些将被作为数组的内容
2[ ]
使用
取值:
我们可以通过下标/索引的方式,来获取数组中指定位置的数据
其实本质上就是获取数组这个对象下的某个名称为数字的属性的值获取
一个不存在的属性,返回的是undenfined。
遍历循环()
为什么大部分的时候不用for in ,for in 会按照对象属性进行遍历 ,很多时候我们需要遍历的只是数组中以数字进行命名的??
注意如果我们通过new Array的方式来创建一个数组,但是参数只有一个且为 数字的时候,那么这个时候。这个唯一数字参数,不再作为数组的值,而是作为数组的长度。。如果通过 [] 的方式,则不会有上述的问题,不管有多少个值,值的类型是什么,都是作为数组的值
arr.length
数组的元素个数<注意:真实的元素的个数和length的值不一定相等>,一个数组的lenght = 数组最大索引值 + 1.
注意:可读,可操作这就意味着,我们可以对一个数组的length进行修改,如果length的值被修改成小于现有数组索引的值,那么大于修改后的length的索引的值将会被自动删除,所以,除非我们知道修改length所带来的问题,否则不要轻易的去修改length属性
arr.push(data1[,data2.........])
向数组的尾部添加新数据,索引值也发生改变
返回:Number,返回新数组的长度
arr.unshift(data1[,data2.........])
向数组的头部添加新数据,索引值也发生改变
返回:Number,返回新数组的长度
arr.pop( )
删除数组最后一个 原数组也会发生改变
返回:any,被删除的元素
arr.shift()
删除数组第一个 原数组也会发生改变
返回:any,被删除的元素
arr.splice([start, count, data1...])
删除数组指定位置的内容,并在删除的位置添加新的数据
start: 删除的起始位置,默认0(strart包含在内)
count: 要删除的元素的个数,默认0
data1...: 要添加的新的元素
返回:Array,被删除的元素
原数组的内容会发生改变
arr.slice(start,end)
从start位置开始,到end位置结束,不包含end位置的元素
start:截取的起始位,默认为0;
start: 截取的起始位置,默认0
end: 截取的结束位置,默认数组的length
返回:Array,被截取的元素
 
arr.join(str)字符串和数组的转换
把arr使用str拼接成字符串。
str:拼接符
返回:string
arr.reverse()
翻转 数组
该方法会翻转原有数组
返回:翻转后的数组
原来数组会发生改变。
arr.concat(arr arr2)
把参数数组和源数组进行拼接,形成一个新的数组
返回:Array 原数组不会发生改变。
arr.forEach(callback) 在元素是getElementBy L类型获取时不能使用,因为此方法为DOM方法,DOM中没有forEach方法。nb
循环遍历数组元素
当我们调用数组的forEach方法的时候,这个方法在内部会循环该数组,
每次循环都会调用传入callback
每次执行callback的时候,会把当前循环过程中的下标以及对应的值作为
参数再传递给callback
callback: 函数,在forEach循环遍历的时候被调用
value: 循环过程中对应的值
index: 循环过程中对应的下标
obj: 数组本身
 
arr.map(callback)
'循环遍历数组元素,目的,创建新数组,
根据一个已有数组创建一个新数组
返回 Array 新数组
 
arr.filter(callback)
循环遍历数组元素,目的:创建新数组
根据一个已有数组创建
根据一个已有数组创建新的数组,如果回调函数返回true,保留当前循环的原始值到新数组,如果返回false,丢弃当前循环的原始值
返回:Array 新的数组
arr.sort(callback )
排序,我们可以传入一个回调函数来设置排序规则
callback:回调函数,设置排序规则
排序:按照某种规则交换位置
内部判断return返回值
* 排序:交换
* 小于等于0:不交换位置
* 大于0:交换位置
* */
 
随机数:
Math.random()
随机产生一个0-1之间的数字
 
 
 
posted @ 2017-09-01 00:43  进击的小程序员  阅读(297)  评论(0编辑  收藏  举报