zoukankan      html  css  js  c++  java
  • 字符串

    字符串的遍历

    空格也会被遍历
    

    返回字符串给定位置的字符

    es5提供了charAt方法

        let str = 'hello world'
        console.log(str.charAt(0)) //h
    

    es6提供了at方法,目前还只是一个提案

        let str = 'hello world'
        console.log(str.at(0)) //h
    

    字符串中是否包含某个字符

    es5 提供了indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置

        /* indexOf(searchValue,fromIndex);
         * searchValue 要查找的字符
         * fromIndex 从哪开始查找,默认是重头开始0,取值范围是0到str.length - 1
         * return 首次出现的位置  或者  -1
         */
        let str = 'hello world'
        console.log(str.indexOf('h'))       // 0
        console.log(str.indexOf('world',3)) // 6
        console.log(str.indexOf('d',str.length - 1)) //10
        console.log(str.indexOf('k'))  //-1
    

    es6提供了includes()、startsWith()、endsWidth()

        /*
        * includes(searchValue,fromIndex) 返回布尔值,表示是否找到了searchValue
        * startsWith(searchValue,fromIndex)返回布尔值,表示searchValue是否在str的头部
        * endsWidth(searchValue,fromIndex)返回布尔值,表示searchValue是否在str的尾部
        * searchValue要查找的字符
        * fromIndex开始搜索的位置
        * */
        let str = 'hello world'
        console.log(str.startsWith('hello')) //true
        console.log(str.endsWith('hello')) //false
        console.log(str.includes('hello')) //true
    
        console.log(str.startsWith('world',6)) //true
        console.log(str.endsWith('hello',5)) //true 从第5个到第0个
        console.log(str.includes('hello',6)) //false
    

    repeat(N)重复原字符串N次,返回一个新字符串

        //N是整数
        let str = 'x';
        console.log(str.repeat(3)) // 'xxx'
        console.log(str.repeat(0)) // ''
        //N是小数,会向下取整
        console.log(str.repeat(2.9)) // 'xx'
        //N 是负数或Infinity,报错
        console.log(str.repeat(-1))//Uncaught RangeError: Invalid count value at String.repeat (<anonymous>)
        console.log(str.repeat(Infinity))//Uncaught RangeError: Invalid count value at String.repeat (<anonymous>)
        /*N 是0的情况
        * 0到-1之间的小数,则等同于0
        * NaN 等同于0
        * */
        console.log(str.repeat(NaN)) // ''
        console.log(str.repeat(-0.9)) // ''
    

    padStart(minLength,str),padEnd(minLength,str)补全字符串

        /*padStart(minLength,str),padEnd(minLength,str)
        * minLength 指定字符串的最小长度
        * str 用来补全的字符串
        * */
        let str  = 'hu'
        console.log(str.padStart(6,'ke'))  //'kekehu' 在原字符串之前补充
        console.log(str.padEnd(6,'ke'))  //'hukeke' 在原字符串之后补充
        //原字符串的长度> 或 =指定的最小长度,则返回原字符串
        console.log(str.padStart(2,'ke')) // hu
        console.log(str.padEnd(1,'ke'))   // hu
        //用来补全的字符串+原字符串 > 指定的最小长度,截取超出位数的补全字符串
        console.log(str.padStart(6,'helloworld')) //hellhu
        //省略第二个参数,用空格补充
        console.log(str.padStart(6)) // '    hu'
        //padStart()的常见用途是为数值补全指定位数
        let s = '111'
        console.log(s.padStart(10,'0'))// '0000000111'
    

    模板字符串

        //字符串中嵌入变量
        let name = 'huke'
        let str = `hello world,hello ${name}`
        console.log(str) //'hello world,hello huke'
        //多行字符串
        let str1 = `<p>hello world
                        <span>!!!</span>
                    </p>`
        console.log(str1)
    

    在模板中嵌入变量,需要将变量名写在${ }中

  • 相关阅读:
    软件 = 程序 + 软件工程(构建之法读书笔记一)
    网站系统开发需要掌握的技术
    C++迪杰斯特拉算法求最短路径
    strcpy函数在VS2015无法使用的问题
    C++哈夫曼树编码和译码的实现
    java学习中一些疑惑解答(2)
    凯撒加密、解密算法
    利用DOS批处理实现定时关机操作
    C及C++中typedef的简单使用指南
    java学习中的一些疑惑解答
  • 原文地址:https://www.cnblogs.com/hukeer/p/8134306.html
Copyright © 2011-2022 走看看