javascript 基础训练 Array数组

Array 是javascript语言中的一种引用类型,表示js里的数组.

Array 对象的创建大致有4种方法.

(1) var arr=new Array();  

上面使用构造函数创建了一个新的数组对象 arr,此数组为空数组,里面没有任何元素.

(2)var arr=new Array(num);

上面的num为整数,表示创建一个包含num个元素的空数组.

(3)var arr=new Array(11,’xiaoxiao’,function(){alert(’3′)})

上面调用构造函数时填充了3个参数,其实可以更多,表示创建一个数组并依次把参数当做新数组的元素填充到数组中.可见js的数组中元素可以放任意类型的值.

(4)var arr=[1,2,3];

上面是一种数组的字面量定义方法,比较常用,也比较直观,定义时里面填充了3个元素.

Array 中的Length 属性比较特别,可读可写,也就是说你可以给Length属性赋值,当值小于Array的长度时,后面的元素会被自动截断,反之,多余出来的空闲位置用 undefined 来填充.

可以改变数组本身的方法:

var arr=[19,22,10,5,2,90,88];

pop() 弹出数组最后一个元素 

push(option) option为一个或多个参数,将把参数添加到arr数组的末尾.

push()  和 pop()  方法组合形成一个栈的效果,先进先出.

unshift(option) option为一个或多个参数,将把参数添加到arr数组的开始位置.

unshift()  和 pop()  方法组合形成一个队列效果,先进后出.

reverse() 翻转数组,将元素前后颠倒,互换位置.

sort()  给数组排序.

splice()  删除数组元素,返回被删除的元素.

shift() 从数组开始位置删除一个元素,并返回该元素.

forEach(function(item,index,array){

       alert(item*2);

})

forEach(callback)  方法是遍历数组的每个元素,并给每个元素执行一定的逻辑运算,没有返回值,改变原数组,上面的例子用匿名函数作为回调,参数分别表示  item 为遍历原数组中的当前元素,index 为遍历元素的当前索引,array 为当前数组.

不可改变数组本身的方法:

concat()  连接多个数组并返回连接后的新数组,

arr.concat(1,2,3)  将在原数组结尾处拼接1,2,3 三个元素,返回拼接后的新数组.

var newarr=['xiaoxiao','maomao'];

arr.concat(newarr) 返回结果将arr数组和 newarr 数组拼接成一个新数组.

join(split)  此方法可以将数组元素以 split 分割后组装成string字符串返回. split 为分割参数.

splice() 此方法从原数组中删除元素,替换元素,插入元素,  返回值是被删除的元素, 与 slice() 方法区分开,slice方法不改变原数组,是从数组中提取一个新数组并返回新数组.

some(callback) 当数组中的某一个元素符合条件就返回true

every(callback) 与some(callback)方法正好相反,指数组中的所有元素都必须符合条件才换回true.

上面俩个函数调用方法一样 参数都是异步回调函数,如下

var someResult=arr.some(function(item,index,array){

       return (item*2);

});   定义一个匿名函数作为回调,item为数组中的遍历的每一个元素,index为当前遍历的索引,array 就是返回的新数组,我们这里赋值给 someResult 变量.

map(function(item,index,array){

       return (item*2)

}); 

map() 方法是将数组中的每个元素执行一定的逻辑运算 (如 每个元素X2) 后形成一个新数组.  匿名回调函数参数说明和 上面 some,every 一样.


END




回到顶部