javascript中字符串和数组的相互转换操作是怎样的?
本文实例介绍了javascript中字符串和数组的相互转换方法,分享给大家供大家参考js将字符串转换为数组,具体内容如下
字符串和数组的相互转换操作是非常的重要的,因为在实际编码过程中会经常用到,所以这是必须要掌握的知识点,当然这个知识点并不难,知道了就永远知道了,并不是那种需要充分实践才能够掌握的东西,下面就做一下简单的介绍。
一.字符串转换为数组
此操作会用到split()函数,它能够以指定的字符作为分隔符,将字符串转换成一个数组js将字符串转换为数组,实例代码如下:
var Str="abc-mng-zhang-mayi";var newArray=Str.split("-");console.log(newArray);
由输出的结果可以看出,split()函数已经将字符串转换成一个数组。
二.将数组转换为字符串
此操作可以使用Array对象的join()函数来实现,此函数可以将数组中的元素以指定的字符连接起来,然后返回产生的字符串。
代码如下:
var newArray=["abc","mng","zhang","mayi"];var Str=newArray.join("-");console.log(Str);
以上代码实现了我们的要求,使用"-"将数组元素连接了起来,并生成了一个字符串。
上面的两个例子都是使用的自带的函数,当然我们也可以自己写,这样灵活性更大,并且知根知底。
三.自定义字符串转换为数组
function StringToArray(str,substr) { var arrTmp=new Array(); if(substr=="") { arrTmp.push(str); return arrTmp; } var i=0,j=0,k=str.length; while(i
以上代码同样实现了将字符串转换为数组的功能,下面对代码进行一下注释:
代码注释:
1.function StringToArray(str,substr){},此函数用来进行转化,str是要被转换的字符串,substr是分隔符。
2. var arrTmp=new Array(),声明一个数组,用来存放分割的字符串片段。
3.if(substr=="") {arrTmp.push(str);return arrTmp;},如果字符串分隔符为空,那么就将整个字符串放入数组。
4. var i=0,j=0,k=str.length;声明三个变量,并赋初值,k的值是字符串中字符的个数。
5.while(i
6.j=str.indexOf(substr,i),用来检测分隔符在字符串出现的位置,如果indexOf()函数带有两个参数的,第二个参数是查找指定字符开始的位置,这段代码要结合下面的代码理解。
7.if(j!=-1),如果查找的分隔符存在。
8.if(str.substring(i,j)!=""){},截取从开始查找位置到查找到第一个分隔符之间的字符串。
9.arrTmp.push(str.substring(i,j));,将截取的字符串放入数组。
10.i=j+1;将开始查找的位置设置为分隔符的下一个字符。
11.else{},如果没有查找。
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));},如果最后一个分隔符之后的字符不为空,那么就添加到数组。
13.i=k,将i设置为k,这样循环就停止了。
14.return arrTmp; 返回数组。
相关知识:
1.push()方法的定义和用法:
此方法可以给指定的数组末尾追加一个或者多个新的元素,并返回数组的长度。
注:新元素是直接追加到原有的数组,而不是创建新的数组。
点击可参阅数组更多属性和方法。
语法结构:
arrayObject.push(元素一,元素二,....,元素N)
参数列表:
参数描述
参数(一...N)必需。要被追加的新元素。
实例代码:
var a = [1,2,3];console.log(a.push("zhang","dao"));
2.indexOf()方法的定义和用法:
此方法返回指定的字符串在字符串中首次出现的位置。
如果没有检索到相应的字符串,返回值是-1。
注:此方法对大小写敏感。
语法结构:
stringObject.indexOf(substring,startindex)
实例代码:
var a=new String("abcdefg")console.log(a.indexOf("b"));
b在字符串abcdefg中第二个出现。输出结果:1。
var a=new String("abcdefg")console.log(a.indexOf("B"));
此方法对大小写敏感的,所以字符串abcdefg中并没有大写的B出现。输出结果:-1。
var a=new String("abcdefg")console.log(a.indexOf("e",4));
检索开始的位置是4,字符串首次出现的位置还是从字符串的起始开始计算的。输出结果:4。
3.substring()函数。
四.自定义数组转换为字符串
function ArrayToString(arr,str) { var strTmp=""; for(var i=0;i
以上代码实现了我们的要求,可以将数组转换为字符串,下面对代码进行一下注释:
代码注释:
1.function ArrayToString(arr,str){},第一个参数是数组,第二个参数是连接字符串。
2.var strTmp="",声明一个空字符串。
3.for(var i=0;i
4.f(arr!=""){}如果数组元素不为空。
5.if(strTmp=="") {strTmp=arr;},如果字符串中也为空,那么就将数组中的此元素赋值给字符串strTmp。
6.else{strTmp=strTmp+str+arr},否则进行字符串连接。
7.return strTmp,返回转换后的字符串。
以上就是js实现字符串和数组之间相互转换的详细代码,希望对大家的学习有所帮助。
摘要:本文实例讲解了网页右下角弹出广告信息框实例代码,分享给大家供大家参考,具体内容如下效果图:具体代码:网页右下角的信息框#winpop{wid...
本文实例讲解了网页右下角弹出广告信息框实例代码,分享给大家供大家参考,具体内容如下
效果图:
具体代码:
3秒后会在右下角自动弹出窗口,如果没有弹出请点击这个按钮
您有新的短消息!X
1条未读信息(
以上代码实现了我们需要的功能,下面简单介绍一下实现过程。
实现原理:
原理非常的简单,下面分步做一下简单的介绍:
1.让窗口居于网页的右下角:
实现代码如下:
#winpop { width:200px; height:0px; position:absolute; right:0; bottom:0; border:1px solid #666; margin:0; padding:1px; overflow:hidden; display:none;}
以上代码将windpop元素设置为绝对定位,尤其是将它的right和bottom属性值设置为0,这样就保证了它位于网页的右下角,同时也将它的高度设置为0px,也就是说在默认状态下是隐藏的。
2.如何显示和隐藏:
通过定时器函数setInterval()每隔指定时间调用一次changeH()函数,此函数可以根据传递的值不断的设置windpop的高度,这样就实现了此窗口平滑出现和消失的效果。原理大体如上,这里就不多介绍了。
以上就是右下角弹出提示框的实现代码,希望对大家的学习javascript程序设计有所帮助。
本文实例讲解了鼠标指针停止运动触发事件实例代码,分享给大家供大家参考,具体内容如下
在js中有有内置的鼠标各种事件,比如click事件,mousemove事件等等,但是并没有鼠标指针停止运动这个事件,下面就利用jquery模拟实现此效果,希望能够给需要的朋友带来一定的帮助。
代码如下:
查字典教程网一
查字典教程网二
以上代码实现了我们的要求,当鼠标指针在div中停止移动之后,就会弹出相应div的id属性值,下面介绍一下它的实现过程。
代码注释:
1.(function($){}(jQuery),声明一个匿名函数,并执行此函数,参数为jQuery对象。
2.$.fn.moveStopEvent=function(callback{}),为jQuery实例对象添加函数。
3.return this.each(function(){}),遍历jQuery对象集合中的每一个DOM元素对象,并且使用此对象作为上下文去执行函数,也就是说function中的this是指向每一个DOM对象的。
4.var x=0,y=0,声明变量x和y并赋初值为0,用来存储鼠标指针的上一个坐标。
5.var x1=0,y1=0,声明变量x1和y1并赋初值为0,用来存鼠标指针当前坐标。
6.var isRun = false,声明一个标记,说明鼠标指针是否在移动。
7.var timer=null,声明一个标记,作为定时器函数的返回值。
8.var self=this,将当前DOM对象的引用赋值给self变量。
9.var sif=function(){},声明一个函数用来判断鼠标指针是否停止运动。
10.timer=setInterval(function(){},500),每隔500毫秒执行一次函数,如果500毫秒内鼠标指针没有位置变化,就认定已经停止移动。
11.x = x1,y = y1,将鼠标指针的当前坐标存入x和y。
12.$(this).mousemove(function(e){}),为当前对象注册mousemove事件处理函数。
13.x1 = e.pageX,将当前鼠标指针横坐标存入x1.
14.y1 = e.pageY,将当前鼠标纵坐标存入y1.
15.!isRun && sif(),isRun = true,如果当前鼠标出于没有移动状态,那么就执行sif()函数,并且将isRun设置为true。也就是说当鼠标指针一直在移动的时候,保证只会执行一次sif()函数,否则可能会执行很多此此函数。
16.mouseout(function(){})注册mouseout事件处理函数,当然这是使用的链式调用。
17.clearInterval(timer),停止定时器函数的运行。
18.isRun = false,将变量的值设置为false,说明鼠标已经停止运动。
以上就是本文的全部内容,附有详细的代码注释,希望对大家学习鼠标事件有所帮助。
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
仿制主题,Typecho博客主题,昼夜双版设计,可....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
Z.
11月29日
博主你好,Deng插件,这个点击不进去,提示这个(Warning: require_once(/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php): failed to open stream: No such file or directory in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26
Fatal error: require_once(): Failed opening required '/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26)
蔑视的士
4天前
支持