zoukankan      html  css  js  c++  java
  • replace(),indexOf(),substring(),split(),join(),——各种小知识点

    1.replace ———— 实现去除指定字符串功能,可以用空字符串代替,也可以去新字符代替已有的字符。

    var  str="123_z.jpg";
    str=str.replace("_z","");
    console.log(str)   //123.jpg
    var str="admin#mary#jim";
    console.log(str.replace(/#/g,","));   //admin,mary,jim 全局替换

     2.indexOf()  —— 可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1。

    var  str="123_z.jpg";
    var newStr = str.indexOf("_z");
    console.log(newStr);       //3

    lastIndexOf() —— 可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索,同indexOf一样,如果检索的字符串没有出现,则该方法返回-1。

    var str="Administrators";
    console.log(str.lastIndexOf("s"));      //13
    var str="Administrators";
    console.log(str.lastIndexOf("2"));      // -1

     3.substring() —— 用于截取字符串中介于两个指定下标之间的字符。  

    语法:stringObject.substring(start,stop)
    start : 必需;
    stop : 可选,不填则默认为到结束位置;
    substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。


    var  str="123_z.jpg";
    var newStr = str.substring(3);
    console.log(newStr);      // _z.jpg

    substr() —— 可在字符串中抽取从 start 下标开始的指定数目的字符    substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来用

    语法:stringObject.substr(start,length)
    start:必需;如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

    length:可选,不填则默认为到结束位置

     4.split()  —— 用于把一个字符串分割成字符串数组

    数据库(img)字段保存的数据类型是这样的:

    /images/feedback/2016/11/03/201611031513169266_Z.jpg,/images/feedback/2016/11/03/201611031513169266.jpg|

    /images/feedback/2016/11/03/201611031513169497_Z.jpg,/images/feedback/2016/11/03/201611031513169497.jpg|

    /images/feedback/2016/11/03/201611031513169997_Z.jpg,/images/feedback/2016/11/03/201611031513169997.jpg|

    /images/feedback/2016/11/03/201611031513207863_Z.jpg,/images/feedback/2016/11/03/201611031513207863.jpg

    想要的效果:以"_Z"结尾的为压缩后的图片,没有"_Z"的则为原图,需要正常显示缩略图,点击缩略图的时候显示原图,于是乎:

     var imgArr=img.split("|");//原图以及缩略图  将字符串分割成——>字符串数组
        for(var i=0,len=imgArr.length;i<len;i++){
    //    压缩的图片路径
        contents+='<img src="'+imgsite+apiImgsite+imgArr[i].split(',')[0]+'" bigImg="'+imgsite+apiImgsite+imgArr[i].split(',')[1]+'" style=" 150px;height: 100px;margin-left: 20px" onclick="openImg(this)">';
           }
       contents=contents+'</div>';
    }
     function openImg(me){
            var bigImg = jQuery(me).attr("bigImg");//缩略图路径
            window.open(bigImg);
        }

    之前,自己出现比较Low的bug就是:一直以为点击img标签的时候,只有src属性,而自己却不知道怎么通过"_Z"的路径得到原图的路径,也不知道给img标签添加另外一个自定义属性,于是就直接用replace()将其中的"_Z"替换掉,这样就被同事嘲笑很Low了,因为一旦保存在数据库的数据改成"_z"时,自己显示原图的目标就实现不了,经过大神同事的指点,就在里面添加一个"bigImg"属性,这样便可以实现点击缩略图看原图的效果了。

    5.splice(index,len,[item])  —— 用来替换、删除、添加数组内某一个值或者几个值

    index ——> 数组开始的下标  len ——> 替换/删除的长度   item —— > 替换的值,删除操作的话item值为空

    如:arr = ["a","b","c","d"];

    删除:

    arr.splice(1,1)   //['a','c','d'] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
    
    arr.splice(1,2)  //['a','d'] 删除起始下标为1,长度为2的一个值,len设置的2

    替换:

    arr.splice(1,1,'ttt')        //['a','ttt','c','d'] 替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1
    
    arr.splice(1,2,'ttt')        //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1

    添加:len设置为0,item为添加的值

    arr.splice(1,0,'ttt')        //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'

    6.join()  —— 用于把数组中的所有元素放入一个字符串   元素是通过指定的分隔符进行分隔的。

    var arr = ["mary","bob","jim","sum"];
    console.log(arr.join("-"));      // mary-bob-jim-sum
  • 相关阅读:
    90后是怎么了
    从GNOME切换到KDE了
    Ubuntu 12.04中安装Evolus Pencil原型图绘制软件
    wine qq 2012 for linux
    发现来博客园比去csdn早
    [转]代理(Proxy)和委派(Delegate)的区别
    Debian Stable分支对于开发者的意义[续软件系统。。。]
    xj3d svn org.web3d目录结构分析
    不自觉的就陷入OS发行版选择的泥潭
    DNN Test
  • 原文地址:https://www.cnblogs.com/zhengyeye/p/6027053.html
Copyright © 2011-2022 走看看