php程序员学习javascript:第二章:javascript对象函数(二):数组对象函数

  1 //数组定义
  2     //普通数组
  3     var arr = new Array();
  4     var arr1 = new Array(3);
  5     var arr2 = new Array('a','b','c');
  6     var arr3 = ['you','me','her'];
  7     document.write(arr3);   //普通数组可以直接打印印输出:you,me,her 
  8     //关联数组(hash数组)   不能直接打印输出
  9     var arr4 = {};
 10     arr4['id'] = 4;
 11     arr4['name'] = 5;
 12     var arr5 = {'name':'张三','sex':'男'}        //json格式的对象
 13     //添加新键值
 14     arr5['age'] = 25;
 15     //删除键值
 16     delete arr5['age'];
 17 
 18     //遍历关联数组
 19     var val;
 20     for(key in arr5){
 21         val = arr5[key];
 22     }
 23 
 24     document.write(val);
 25 
 26     //数据对象方法
 27     /**
 28     * arrayobj.concat(var1,var2……) 把数据连接到数组的副本中
 29     * var1,var2可以是字符串,也可以是数组
 30     * 连接后只影响副本,对原数组没有影响
 31     */
 32     var arr6 = new Array('唐僧');
 33     document.write(arr6);    //输出:唐僧
 34     arr6.concat('孙悟空');
 35     document.write(arr6);   //输出:唐僧(该方法不会改变原有的数组)
 36     document.write(arr6.concat('孙悟空'));  //输出:唐僧,孙悟空 
 37     document.write(arr6.concat('孙悟空','猪八戒'));  //输出:唐僧,孙悟空,猪八戒 
 38     var arr7 = new Array('孙悟空','猪八戒');
 39     var arr8 = new Array('沙僧','白龙马');
 40     document.write(arr6.concat(arr7,arr8));  //输出:唐僧,孙悟空,猪八戒,沙僧,白龙马 
 41 
 42     /**
 43     * arrayobj.join(separator);    //把数组按照特定的分隔符组成一个数组
 44     * 参数separator为分隔符
 45     * 返回的是形成的数组
 46     */
 47     var arr9 = new Array('苹果','桔子', '梨');
 48     document.write('<br/>');
 49     document.write(arr9.join('|'));    //输出:苹果|桔子|梨       =>类似php中的join和implode函数
 50 
 51     /**
 52     * arrayobj.pop()
 53     * 删除数组中最后一个元素
 54     * 返回删除的元素
 55     */
 56     document.write('<br/>');
 57     document.write(arr9.pop());            //输出:梨                   =>类似php的array_pop()
 58     document.write('<br/>');
 59     document.write(arr9);                  //输出:苹果、桔子
 60     document.write('<br/>');
 61 
 62     /**
 63     * arrayobj.push()
 64     * 向数组的末尾添加一个或多个元素
 65     * 返回新数组的长度
 66     */
 67     document.write(arr9.push('桃','李'));    //输出4            =>类似php的array_push();
 68     document.write(arr9);                    //输出:苹果,桔子,桃,李 
 69     
 70     /**
 71     * arrayobj.reverse()                                        =>类似php的array_reverse()
 72     * 将数组的元素排列顺序与原数组相反
 73     *
 74     */
 75     document.write(arr9.reverse());                   //输出:李,桃,桔子,苹果 
 76     document.write('<br/>');
 77     /**
 78     * arrayobj.shift()                                      =>类似php中的array_shift()
 79     * 删除数组的第一个元素
 80     * 返回被删除的元素
 81     */
 82     document.write(arr9.shift());                  //输出:李
 83     document.write('<br/>');
 84     document.write(arr9);                          //输出:桃,桔子,苹果 
 85     document.write('<br/>');
 86     /**
 87     * arrayobj.unshift()                               =>类似php中的array_unshift()
 88     * 在数组的最前面添加一个元素
 89     * 返回新数组的长度
 90     */
 91 
 92     document.write(arr9.unshift('香蕉'));          //输出4
 93     document.write('<br/>');
 94     document.write(arr9);                          //输出:香蕉,桃,桔子,苹果
 95     document.write('<br/>');
 96 
 97     /**
 98     * arrayobj.slice(start,end)                           =>类似php的array_slice()
 99     * 从数据中选取几个元素形成新的数组(start是开始位置,end是结束位置(默认到数组的结束))
100     * 返回新数组
101     */
102     document.write(arr9.slice(2)); //输出:桔子,苹果
103     document.write('<br/>');
104     document.write(arr9.slice(1,2));  //输出:桃
105     document.write('<br/>');
106 
107     /**
108     * arrayobj.sort(sortby)                       =>加参数是相当于php的usort,不加参数时相当于php的sort
109     *  让数组按照一定的排序算法排序(sortby为自定义排序函数,可以不填写,按自定义排序)
110     *  返回排序后的数组
111     */
112     var arr10 = new Array('eb','ca','cb','zy');
113     document.write(arr10);
114     document.write('<br/>');
115     document.write(arr10.sort());                  //输出:eb,ca,cb,zy
116     document.write('<br/>');                       //输出:ca,cb,eb,zy
posted @ 2012-11-29 13:35  遗梦诗心  阅读(126)  评论(0编辑  收藏  举报