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>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享