js03 数组
Posted 672530440
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js03 数组相关的知识,希望对你有一定的参考价值。
变量的自动转换
=== 等同符:不会发生类型的自动转化!
== 等值符:会发生类型自动转化、自动匹配!
判断相等没有equals()方法,只有2个等号3个等号。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type=text/javascript charset=utf-8> /** js数组更加类似java的容器。长度可变,元素类型也可以不同! 数组长度随时可变!随时可以修改!(length属性) push、pop shift、unshift splice、slice(不改变数组) concat(不改变数组)、join(不改变数组)、sort、reverse等 */ var arr = new Array();//这里可以写长度也可以不写长度 var arr = [1,2,3,4,true ,‘abc‘ , new Date()] ; alert(arr.length); arr.length = 5 ;//截断 alert(arr.toString()); //1,2,3,4,true /** * 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(subString()): 第一个参数 :起始位置,包头,起始位置坐标是0, // 第二个参数 :表示截取的个数 // 第三个参数以后:表示追加的新元素个数 var arr = [1,2,3,4,5]; arr.splice(1,2,3,4,5); //从下标1开始删除2个并加入345, 134545 alert(arr); arr.splice(1,2);//1545 arr.splice(1);//1,从1位置开始截,后面全部截取掉 // slice: var arr = [1,2,3,4,5]; var reuslt = arr.slice(2,4);//下标从0开始 alert(reuslt); //返回截取的内容,包头不包尾,3,4 alert(arr);//1.2.3.4.5,数组还是没变 //操作数组的方法: concat join var arr1 = [1,2,3]; var arr2 = [true , 4 , 5]; var reuslt = arr1.concat(arr2); alert(reuslt);//1,2,3,true , 4 , 5 alert(arr1);//1,2,3 alert(arr2);//true , 4 , 5 var result = arr1.join(‘-‘); //在每个元素之间加入内容(不操作数组本身) alert(arr1); //1,2,3 alert(result);//1-2-3 /** * 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 arr1.reverse();//倒叙放置,不是排序 alert(arr1);//34125 arr2.sort(); alert(arr2);//字符串比较,1 10 2 4 7,所以要写自定义比较函数, function compare(value1 , value2){ if(value1 < value2){ return -1 ; } else if(value1 > value2){ return 1 ; //返回正数交换value1、value2位置 } else { return 0 ; } } arr2.sort(compare); alert(arr2);//124710 </script> </head> <body> </body> </html>
以上是关于js03 数组的主要内容,如果未能解决你的问题,请参考以下文章