js字符串和数组操作

1.把字符串转化为数组  ToArray

函数:split() 

功能:使用一个指定的分隔符把一个字符串分割存储到数组

1 (function(){
2         //把字符串以','来分割成数组形式
3         var oData='1,2,3,4,5,6'
4         var oSub=oData.split(',');
5         console.log(oSub)
6         //[1,2,3,4,5,6]
7     })()

拓展1:

简单封装个 toArray函数

1 function toArray(value){
2             value=value.split(","); //对于传入的字符串有限制,这里是以 ',' 为分隔的字符串
3             for(var i in value){
4                 value.push(value[i]);
5             }
6             return value;  //返回value
7         }

 

拓展2:

比如我想获取 '#box'中的 box

1 (function(){
2         var oData='#box'
3         var oSub1=oData.split('#');
4         var oSub2=oData.split('#')[1];
5         console.log(oSub1)
6         //['','box']
7         console.log(oSub2)
8         //box
9     })()

 

 

2.把数组转化为字符串  ToString

函数:join()

功能:使用您选择的分隔符将一个数组合并为一个字符串

1 (function(){
2         var oData=[1,2,3,4,5,6]
3         var oSub1=oData.join('++');
4         console.log(oSub1)
5         //1++2++3++4++5++6
6     })()

 

 

3.字符串截取

函数:substring() 

功能:字符串截取

 

1 (function(){
2         var oData='javascript'
3         var oSub1=oData.substring(0,4);//从第一位开始,截取到第4位字符串
4         var oSub2=oData.substring(4,10);//从第4位开始,截取到第10位字符串
5         console.log(oSub1)
6         //java
7         console.log(oSub2)
8         //script
9     })()

 

 

 

 

4.返回字符串在字符串中的开始位置

函数:indexOf()

功能:返回字符串中匹配子串的第一个字符的下标

 

 1 (function(){
 2         var oData='javascript'
 3         var oSub1=oData.indexOf('v');
 4         var oSub2=oData.indexOf('t');
 5         var oSub3=oData.indexOf('a');//这里需要注意,他是返回该字符串出现的第一个位置
 6         var oSub4=oData.indexOf('script');
 7         console.log(oSub1)
 8         //2
 9         console.log(oSub2)
10         //9
11         console.log(oSub3)
12         //1
13         console.log(oSub4)
14         //4
15     })()

 

5.替换字符串中的内容为其他内容

replace();

简单1

 

1 (function(){
2         var oData='我爱javascript';
3         var oData1=oData.replace('我爱','我恨');
4         console.log(oData1)
5         //我恨javascript
6     })()

 

简单2 

匹配只能输入数字

1 (function(){
2         var oInput=document.getElementsByTagName('input')[0];
3         oInput.onkeyup=function(){
4             this.value=this.value.replace(/^[A-Za-z]+$/,'');
5         }
6     })()

 

 

6.数组操作

(1)从头部添加数组元素,函数unshift();参数是想要添加的元素

 

 1 (function(){
 2         var oData1=[1,2,3,4,5]
 3         var oData2=[1,2,3,4,5]
 4         var oData3=[1,2,3,4,5]
 5         //从数组头部添加数组元素
 6         //注意加入元素的样式
 7         oData1.unshift(0);
 8         console.log(oData1)
 9         //[0, 1, 2, 3, 4, 5]
10         oData2.unshift('0')
11         console.log(oData2);
12         // ["0", 1, 2, 3, 4, 5]
13         oData3.unshift(javascript)
14         console.log(oData3);
15         //Uncaught ReferenceError: javascript is not defined
16     })()

 

 

(2)从头部删除数组元素 ,函数shift();无参数

 1 (function(){
 2         var oData1=[1,2,3,4,5]
 3         var oData2=[1,2,3,4,5]
 4         var oData3=[1,2,3,4,5]
 5         oData1.shift('3');
 6         console.log(oData1);
 7         // [2, 3, 4, 5]
 8         oData2.shift(3);
 9         console.log(oData2);
10         //[2, 3, 4, 5]
11         oData3.shift();
12         console.log(oData3)
13         //[2, 3, 4, 5]
14         //以上显示了shift()函数无参数
15     })()

 

 

(3)从尾部添加数组元素,函数push();需要参数

 1  (function(){
 2         var oData1=[1,2,3,4,5]
 3         var oData2=[1,2,3,4,5]
 4         var oData3=[1,2,3,4,5]
 5         oData1.push('6');
 6         console.log(oData1);
 7         // [1, 2, 3, 4, 5, "6"]
 8         oData2.push(6);
 9         console.log(oData2);
10         // [1, 2, 3, 4, 5, 6]
11         oData3.push(javascript);
12         console.log(oData3)
13         //Uncaught ReferenceError: javascript is not defined
14     })()

 

 

(4)从尾部删除数组元素,函数pop(),无参数,和上文一样

 1  (function(){
 2         var oData1=[1,2,3,4,5]
 3         var oData2=[1,2,3,4,5]
 4         var oData3=[1,2,3,4,5]
 5         oData1.pop('6');
 6         console.log(oData1);
 7         // [1, 2, 3, 4]
 8         oData2.pop(6);
 9         console.log(oData2);
10         // [1, 2, 3, 4]
11         oData3.pop();
12         console.log(oData3)
13         // [1, 2, 3, 4]
14     })()

 

 

(5)数组的复制,函数concat();参数是要复制的对象,注意参数不一样的情况

 1 (function(){
 2         var oData1=[1,2,3,4,5]
 3         var oData2=[1,2,3,4,5]
 4         var oData3=oData1.concat(oData2);
 5         console.log(oData3);
 6         //[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
 7         //需要注意这里如果concat函数传入参数不同,相当于push方法
 8         var oData4=oData1.concat(1);
 9         console.log(oData4)
10         // [1, 2, 3, 4, 5, 1]
11         var oData5=oData1.concat('1');
12         console.log(oData5)
13         //[1, 2, 3, 4, 5, "1"]
14     })()

 

 

(6)数组的分割、替换、函数splice();参数很多,详见例子

  1)数组的分割,注意返回值 

1 (function(){
2         var oData1=[1,2,3,4,5]
3         var aa=oData1.splice(1,3);
4         //第一个参数表示在哪一项开始,第二个参数表示项数,注意aa的返回值
5         console.log(aa);
6         console.log(oData1);
7         //[2, 3, 4]
8         //[1, 5]
9     })()

 

 

  2)数组的分割和添加,注意返回值   

 1 (function(){
 2         //第一个参数表示在哪一项分割,第二个参数表示要分割的项数,后面字符串表示分割成的内容
 3         var oData1=[1,2,3,4,5]
 4         var aa=oData1.splice(1,2,'asd');
 5         console.log(aa);
 6         console.log(oData1);
 7         //[2, 3]
 8         //[1, "asd", 4, 5]
 9 
10         //第一个参数表示在哪一项开始添加,第二个参数表示要删除的项数是0,所以是添加,后面字符串表示添加的内容
11         var oData2=[1,2,3,4,5]
12         var bb=oData2.splice(1,0,'asd');
13         console.log(bb);
14         console.log(oData2);
15         //[]
16         //[1, "asd", 2, 3, 4, 5]
17     })()

 

以上

下面是jQuery方法实现上述

 

posted @ 2015-02-08 23:54  Nmoand  阅读(428)  评论(0编辑  收藏  举报