JavaScript中的对象--Array

xiaoxiao2021-02-27  253

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>js中的对象--Array</title> <script type="text/javascript" src="tools/1.js"></script> </head> <body> <script type="text/javascript"> //js中的数组相当于Java中数组与集合的综合, //js数组的特点:长度可变,元素类型任意 ---相当于Java中的List<Object>arr=new ArrayList<Object>(); //3种声明数组的方法 var arr1 = [ 1, 5, true, "abc", 56 ]; var arr2 = []; arr2[0] = 20; arr2[1] = 2; arr2[2] = "efg"; arr2[5] = 10; var arr3 = new Array(); //println(arr1); //println(arr2); //concat 方法: 返回一个新数组,这个新数组是由两个或更多数组组合而成的 var a = arr1.concat("hello", "11aa", arr2);//把数组arr1和元素"hellp"及数组arr2连接成一个新的数组返回  println(a);//1,5,true,abc,56,hello,11aa,20,2,efg,,,10 //join方法: 返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。 var str = arr1.join("-"); // println(str);//1-5-true-abc-56 //pop 方法: 移除数组中的最后一个元素并返回该元素。---操纵队尾 var ar = [ 1, 23, 4 ]; var str = ar.pop(); println(str);//4 //push 方法: 将新元素添加到一个数组中,并返回数组的新长度值。 var ar = [ 1, 23, 4 ]; var len = ar.push("d"); var arr = [ 1, "ad", 2 ]; //println(len+": "+ar);//3: 1,23,d len = ar.push(arr);//4  ----把整个参数(数组arr)当作一个元素加入ar,这样ar就变成二维数组 //println(len+": "+ ar);//4: 1,23,d,1,ad,2 //区别:arr1.concat(arr2)是把arr2中的每个元素分别取出来,一个个加入arr1中,arr1还是一维数组。 //    ar.push(arr)是把arr整体当作一个元素加入到ar中,让ar成为二维数组。 //reverse 方法: 返回一个元素顺序被反转的 Array 对象。 //println( ar.reverse() );//1,ad,2,d,4,23,1 //shift 方法: 移除数组中的第一个元素并返回该元素。----操纵队首 arr1 = [ "a", "b", "c" ]; var str = arr1.shift(); println(str);// println(arr1);//b,c //slice 方法 (Array): 返回一个数组的一段。 arr1 = [ "a", "b", "c", 1, 3, 5, "d" ]; var b = arr1.slice(1, 4); //截取[1,4)左包含友不包含 println(arr1);//原样不变 println(b);//b,c,1 //排序 arr1.sort(); println(arr1); arr1.sort(function(a, b) { //写自定义函数排序 //return -1; return 1; }); println("arr1 =" + arr1);// return -1:arr1 =1,3,5,a,b,c,d   return 1:arr1 =d,c,b,a,5,3,1 println("<hr/>"); //splice 方法:(替换) 从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。 arr1 = [ "a", "b", "c", 1, 3, 5, "d" ]; var ar = arr1.splice(2, 3, 10, 20, "hello", "xdy");//把数组arr1中从位置2开始的3个元素移除,并且在该移除位置依次添加如下元素:10,20,"hello","xdy",,该方法的返回值是被移除元素序列(数组) println(ar); println(arr1); //unshift 方法: 将指定的元素插入数组开始位置, ☆返回的是新数组的长度(API有误)。 ---操纵队首 var len = arr1.unshift("aa"); println(len); //9 println(arr1);//aa,a,b,10,20,hello,xdy,5,d </script> <h3>用js数组来做一个栈或队列</h3> <script type="text/javascript"> //队列:先进先出。  add加到队尾,,remove从队首移除 var que = []; que.push("a"); que.push("b"); que.push("c"); println(que.shift()); println(que.shift()); println(que.shift()); //addFirst() removeLast() addLast()  removeFirst() </script> <script type="text/javascript"> //把js中的Array包装成我们喜欢的队列或栈操作方式 Array.prototype.addFirst = function(element) { return this.unshift(element); }; Array.prototype.addLast = function(element) { return this.push(element); }; Array.prototype.removeFirst = function() { return this.shift(); }; //测试 var que2 = []; que2.addLast("文本内容1"); que2.addLast("文本内容2"); que2.addLast("文本内容3"); println(que2.removeFirst()); que2.addLast("文本内容4"); println(que2.removeFirst()); println(que2.removeFirst()); println(que2.removeFirst()); </script> <script type="text/javascript"> //给js中的数组添加一个返回最大元素值的方法 Array.prototype.getMax = function() { var max = 0;//初始化:第0位置的元素为最大值 for ( var i = 0; i < this.length; i++) { if (this[max] < this[i]) { //注意,访问当前数组this中的元素的方式 max = i; } } return this[max]; }; arr1 = [ 0, -3, 1, 30, 5, 15, 8 ]; println(arr1.getMax()); </script> </body> </html>
转载请注明原文地址: https://www.6miu.com/read-6170.html

最新回复(0)