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
学习是一个漫长的过程,有时候会迷茫,有时候会孤独,有时候会枯燥,感谢一路上有你