stringtool.js
/* 去取两端空格 */ String.prototype.trim=function() { var start,end; start=0; end=this.length-1; while (start<=end &&this.charAt(start)==" ") { start++; } while (start<=end &&this.charAt(end)==" ") { end--; } return this.substring(start,end+1); } /* 字符串新功能 添加一个将字符串转成字符数组 返回一个数组 */ String.prototype.toCharArray=function() { //定义一个数组 var cha = []; //将字符串中的每一位字符存储到字符数组中 for(var x= 0;x<this.length;x++) { cha[x] = this.charAt(x);//方法的调用是括号 } return cha; } String.prototype.reverse=function() { var arr = this.toCharArray(); //将数组位置置换功能进行封装 并定义到了反转功能内部 function swap(arr,x,y)//内部类 { var temp = arr[y]; arr[y]=arr[x]; arr[x]=temp; } for(var x= 0,y=arr.length-1;x<y;x++,y--) { swap(arr,x,y); //注意点和逗号 } //alert(arr); return arr.join(","); } //演示数组 var arr = ["ddd","csa","asx","abb"]; var arr2 = ["qq","fdfd"]; println(arr); //在arr数组上连接一个元素"mm"再连接一个arr2数组 println(arr.concat("mm",arr2));//将mm作为新数组中的元素 将arr2数组中的元素也作为新数组中的元素 println(arr.join("-")); println(myJoin(arr,"+")); //模拟join的实现原理 function myJoin(arr,separator) { var str = ""; for(var x= 0; x<arr.length;x++) { if(x!=arr.length-1) { str += arr[x] +separator; } else str+=arr[x]; } return str; } //移除数组中的元素 并返回该元素 pop /* println(arr); println(arr.pop());//删除并返回最后一个俄元素 println(arr); //var arr3 = [[],[]]; //arr3.push(arra,arrb,arrc); //var arr4 = [arra,arrb,arrc]; println(arr.reverse()); println(arr.shift());//删除并返回第一个元素 */ println(arr); //arr.sort(); //arr.splice(1,2,8033,1234,22,"hrhr");//删除元素并进行元素的替换 //println(arr.unshift(22));//返回长度并在开头加入元素 println(arr); <script type="text/javascript"> /* 数组练习 用数组实现js中的堆栈 或者队列数据结构 */ var arr =[]; //arr.unshift("abc1","abc2","abc3");//按照参数顺序插入 添加一次 arr.unshift("abc1"); arr.unshift("abc2"); arr.unshift("abc3"); //println(arr.pop()); //println(arr.pop()); //println(arr.pop());//队列结构 println(arr.shift()); println(arr.shift()); println(arr.shift());//栈结构 println(arr); </script>