JS中的数组

来源:互联网 发布:解码器和矩阵的区别 编辑:程序博客网 时间:2024/06/16 19:29
       //1.0array,特点: 1.随时可变 2.无序的内存空间 3.arr[9]=>undefined        //4.可以使用length属性随时将数组的一部分数据自动清空        function Array1() {            var arr = [1, 5, 3, 4,8];            //可以给数组的任何下标赋值            arr[10] = "y";            //将数组长度变成2            arr.length = 2;           // alert(arr[9]);        }        //1.0.1数组正排序和反转        function C0101ArrySort() {            var arr = [1, 5, 3, 4, 8];            //正序            arr.sort();            //倒叙            //先正序排列,再反转数组            arr.reverse();            var rel='';            for (var i = 0; i < arr.length; i++) {                rel += arr[i] + "\r\n";            }            alert(rel);        }        //1.0.2数组的倒叙        function C0102ArrySort() {            var arr = [9, 5, 3, 4, 8];            //利用array中的sort()方法,传入一个标胶的匿名函数进行倒序            //return x-y 返回的整数>0,则正序排列            //return y-x 返回的整数>0,则正序排列            //如果是字符串可根据length排序,对象可根据某个属性排序            arr.sort(function (x,y) {                return y - x;            });            var rel = '';            for (var i = 0; i < arr.length; i++) {                rel += arr[i] + "\r\n";            }            alert(rel);        }        //1.0.3利用数组可以实现队列数据结构        function C0104Queue() {            var arr = [];            //向数组中添加元素,可以使用:1.push(),unshift()            //取出元素后将其在数组中删除            arr.push("刘德华");            arr.push("凤姐");            arr.push("房祖名");            var rel = '';            var len = arr.length;            for (var i = 0; i < len; i++) {                rel += arr.shift() + "\r\n";            }            alert(rel);        }        //1.0.4利用数组可以实现栈数据结构        function C0104Tack() {            var arr = [];            //向数组中添加元素,可以使用:1.push(),unshift()            //取出元素后将其在数组中删除            arr.push("刘德华");            arr.push("凤姐");            arr.push("房祖名");            var rel = '';            var len = arr.length;            for (var i = 0; i < len; i++) {                rel += arr.pop() + "\r\n";            }            alert(rel);        }        //2.0 函数参数arguments,可以取得传入函数的实参,        //并且arguments本身是一个数组,存放了传入的实参值        function C02Fun(name) {            if (arguments.length == 1) {                alert("C02Fun" + name + "," + arguments[0]);            }            else if (arguments.length == 0) {                alert("C02Fun");            }        }        //Callee存放当前函数体,调用结果为当前方法        function C0201Calle() {            alert(arguments.callee);        }        //2.0.3实现阶乘        function JC(num) {            if (num <= 1) return 1;            return num * arguments.callee(num - 1);        }        //3.0动态改变方法中的this        function C03This(name,age) {            alert(this.color + ",Name=" + name+",Age="+age);        }        var color = "蓝色妖姬";        var obj = { color: "红色" };        //等价于obj.C03This("大猪")        //是一个参数列表        C03This.call(obj, "大猪", 1);        //是一个参数数组        C03This.apply(obj, ["乌克兰小乳猪", 2]);
原创粉丝点击