您的位置:首页 > Web前端 > JavaScript

js数组常用方法

2016-07-02 16:10 309 查看
<script type=text/javascript charset=utf-8>

/**
* 	 数组本身也是对象
* 	 js中数组类似于java里的map容器 长度可随意改变 ,元素类型任意
*
*/
var arr = new Array();
var arr = [1,2,3,4,true ,'abc' , new Date()] ;
alert(arr.length);
arr.length = 5 ;
alert(arr.toString()); // [object object]

/**
*  push 和 pop 方法
*/
var arr = [new Date(),false] ;
var result = arr.push(1,2,true);	//push方法向数组中追加元素(返回值为新数组的长度)
alert(arr);
alert(result);
var obj = arr.pop();		//从数组的尾部移除一个元素(返回值为移除的元素)
alert(arr);
alert(obj);

/**
* shift 和 unshift 方法
*/
var  arr = [1,2,3, true , new Date()];
var r1 = arr.shift();			//从头部移除一个元素(返回移除的元素)
alert(arr);
alert(r1);
var r2 = arr.unshift(10,false);	//从头部插入多个元素(返回新数组的长度)
alert(arr);
alert(r2);

/**
* splice、slice 方法 (截取的方法)
* splice方法操作数组本身
* slice方法不操作数组本身
*
*/
// splice: 第一个参数 :起始位置
// 		    第二个参数 :表示截取的个数
// 			第三个参数以后:表示追加的新元素个数

var arr = [1,2,3,4,5];
arr.splice(1,2,3,4,5);	// 134545
alert(arr);

// slice://返回截取的内容 //截取范围 (左闭右开区间)
var arr = [1,2,3,4,5];
var reuslt = arr.slice(2,4);
alert(reuslt);		//3,4

//操作数组的方法: concat join
var arr1 = [1,2,3];
var arr2 = [true , 4 , 5];
var reuslt = arr1.concat(arr2);		//合并粘连的操作(不操作数组本身)
alert(reuslt);
var result = arr1.join('-');		//在每个元素之间加入内容(不操作数组本身)
alert(arr1);
alert(result);

/**
* sort排序
* reverse倒叙
*/
var arr1 = [5,2,1,4,3];
var arr2 = [10,2,4,1,7];

arr1.sort();
arr1.reverse();		//倒叙排序 是按照集合的位置进行倒叙的
alert(arr1);
arr2.sort();
alert(arr2);		// 1 10 2 4 7

function compare(value1 , value2){
if(value1 < value2){
return -1 ;
} else if(value1 > value2){
return 1 ;
} else {
return 0 ;
}
}
arr2.sort(compare);
alert(arr2);

</script>


<script type=text/javascript charset=utf-8>

var arr = [1,2,3,4,5,4,3,2,1];

//位置的方法: indexOf lastIndexOf
// 1个参数的时候表示传值 返回索引位置(index从0开始)
var index = arr.indexOf(4);
// 2个参数的时候 第一个参数表示起始位置 第二个参数还是值
var index = arr.indexOf(4,4);
alert(index);
//他们查找数组比较的时候 '==='
// lastIndexOf
var index = arr.lastIndexOf(2);
alert(index);

//5个新加迭代的方法
//every :对于数组每一个元素进行一个函数的运行 如果都返回true 最后则返回true 如果有一个返回false最后结果则返回false
var result = arr.every(function(item , index , array){
return item > 2 ;
});
alert(result);

//filter :对于数组的每一个元素进行一个函数的运行 给定的函数去执行 把过滤后的结果返回
var result = arr.filter(function(item , index , array){
return item > 2 ;
});
alert(result);

//forEach :循环数组每一项的值 并执行一个方法
arr.forEach(function(item, index, array){
alert(item);
});

//map 对于数组的每一个元素进行一个函数的运行 可以经过函数执行完毕后 把新的结果返回
var result = arr.map(function(item, index, array){
return item*2;
});
alert(result);

//some :对于数组每一个元素进行一个函数的运行 如果有一项返回true 最后则返回true 如果每一项都返回false最后结果则返回false
var result = arr.some(function(item, index, array){
return item >=5 ;
});
alert(result);

//reduce reduceRight
//变量的起始位置不同
//前一个值 , 当前值 , 索引位置 , array
var result = arr.reduce(function(prev , cur , index , array){
return prev + cur ;
});
alert(result);

var result = arr.reduceRight(function(prev , cur , index , array){
return prev + cur ;
});
alert(result);

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pop javascript