javascript数组常用方法(一)
2016-01-07 21:49
766 查看
javascript数组常用方法(一)
关于运算符号的问题var a = "1"; var b = true; // == 比较自动转换后 数值是否相等 // === 表示 可以经过自动转换,光比较值,再比较数据类型 if(a === b){ alert("equal") }else{ alert("not equal") } // 三目运算符 var c = 10/2? 5:2; alert(c)
2.数组表示方式
/* * 数组本身也是对象 * js中数组类似与java中的map容器,长度可以改变,元素类型任意 * */ var arr = new Array(); var arr = [1,2,3,4,true,'abc',new Date()]; alert(arr.length); alert(arr) alert(arr.toString) // [object object];
3.pop与push方法
/* * pop 与 push方法 */ var arr = []; var result = arr.push(1,2,true); // push追加元素 //alert(arr) //alert(result) var obj = arr.pop(); //alert(obj) // true
4.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("new list num:"+r2);
5.splice与slice方法
/* * splice,slice 方法 * splice方法操作数组本身 * slice方法不操作数组本身 * */ var arr = [1,2,3,4,5]; arr.splice(1,2,3,4,5); // 第一个位置参数:起始位置 // 第二个位置:表示截取的个数 // 第三个参数以后:表示追加的新元素个数 新元素追加位置是再原来删除的位置,而不是尾部追加! //alert(arr); // 134545 var arr1 = [1,2,3,4,5]; var result = arr.slice(2,4); // 2-4 截取,左闭右开 alert(arr) alert(result); // 返回截取内容
6.concat 与 join
/* * concat join */ var arr = [1,2,3]; var arr1 = [true,4,5]; var result = arr1.concat(arr); // 合并粘连的操作,(不操作数组本身) alert(result); var res = arr1.join("-"); // 不操作数组本身 alert(arr1); alert(res); // true - 4 - 5
7.sort 和reverse方法
/* * sort 正序排序 * reverse 倒叙排序 * */ var arr1 = [5,2,1,4,3]; var arr2 = [10,2,4,1,7]; arr1.sort(); alert(arr1); // 1 2 3 4 5 arr2.reverse(); alert(arr2) // 7.1.4.2.10 // 接下来还有个小问题 发现了么 arr2.sort(); alert(arr2); // 1 2 4 7 10 ??? // 真实排序是 1 10 2 4 7 !! // 按照 字符串的首位比较。。
想要解决就要自己动手,丰衣足食
function comparse(val1,val2){ if(val1 < val2){ return -1; }else if(val1 > val2){ return 1; }else{ return 0; } } arr2.sort(comparse); alert(arr2); // 1 2 4 7 10 11
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享
- 如何创建对象以及jQuery中创建对象的方式
- 数组方法汇总