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方法实现上述