一、基本属性

1-1 length

  • 获取字符串长度 空格也算

    1. var a = "hello world";
    2. alert(a.length) //11

    1-2 字符串拼接

    1. var year=19
    2. var message="The year is "
    3. message += year
    4. console.log(message) //The year is 19

    二、增加

    2-1 concat

    1. var str="hello world"
    2. str=str.concat("good");
    3. console.log(str) //hello worldgood

    三、查询

    3-1 indexOf()

  • 查询字符串值得下标 如果没有一则返回-1

    1. var str="hello world"
    2. var b = str.indexOf("h");
    3. console.loc(b) //0
    4. console.log(str.indexOf('g')) //-1

    3-2 slice(startIndex,end)

  • 从某个下标开始,到某个元素结束

  • Tip:空格也算字符
    1. var str="hello world"
    2. console.log(str.slice(1,9)) //ello wor

示例:截取数组

  1. var arr=[1,2,3,4,5,6,7,8,9,10,11]
  2. var sum=[]
  3. /* for(var i=0;i<Math.ceil(arr.length/3);i++){
  4. let item=arr.slice(i*3,(i+1)*3)
  5. sum.push(item)
  6. }
  7. console.log(sum) */
  8. for(var i=0;i<arr.length;i+=3){
  9. let item=arr.slice(i,i+3)
  10. sum.push(item)
  11. }
  12. console.log(sum) // [1, 2, 3]
  13. [4, 5, 6]
  14. [7, 8, 9]
  15. [10, 11]

3-3 substring(startIndex,end)

  • 和slice作用一样

    3-4 substr(index,howmany)

  • 从下标值开始,截取多少位

    1. var str="hello world"
    2. console.log(str.slice(0,3)) //hel
    3. console.log(str.substring(0,3)) //hel
    4. console.log(str.substr(0,4)) //hell

    3-5 search()

  • 判断字符串是否存在某个值 存在则返回值的下标 空格也算,不存在则返回-1

    3-6 startsWith()

  • 判断字符是不是以某个字符开头 返回true,false

    1. var str="hello world"
    2. var http="https://www.baidu.com"
    3. console.log(str.search("w")) //6
    4. console.log(http.startsWith("https")) //true

示例:将有天或tian开头的城市添加到一个数组中

  1. var cities = [{spell:"tianmen",city:"天门"},{city:"天津",spell:"tianjin"},
  2. {spell:"tianshui",city:"天水"},{spell:"wuhan",city:"武汉"}]
  3. var allCities=[];
  4. cities.forEach(item=>{
  5. if(item.spell.startsWith("tian") || item.city.startsWith("天")){
  6. allCities.push(item.city)
  7. }
  8. })
  9. console.log(allCities)

四、替换

4-1 replace()

  1. var str="hello"
  2. console.log(str.replace("l","g")) //heglo

全部替换

  1. "yyyy-MM-dd-hh-mm-ss".replace(/-/g,"/")
  2. 结果如下:
  3. "yyyy/MM/dd/hh/mm/ss"
  1. while (newValue.indexOf('-') != '-1') {
  2. newValue = newValue.replace('-', '/')
  3. }

五、修改

5-1 split()

  • 将字符串分割为数组
    1. var str="hello"
    2. var arr=str.split("")
    3. var ar=str.split("e")
    4. console.log(arr) //["h", "e", "l", "l", "o"]
    5. console.log(ar) // ["h", "llo"]

示例1:将let’s go home变为s’tel og emoh

  1. forEach方法

    1. var str="let's go home"
    2. var arr=str.split(" ")
    3. var all=[];
    4. arr.forEach(item=>{
    5. var i=item.split("").reverse().join("")
    6. all.push(i)
    7. })
    8. console.log(all.join(" ")) //s'tel og emoh
  2. map方法

    1. var str="let's go home"
    2. var arr=str.split(" ");
    3. var newArry=arr.map(item=>{
    4. return item.split("").reverse().join("")
    5. })
    6. console.log(newArry.join(" ") //s'tel og emoh

示例2:转换时间格式

  1. var str="2019/09/17 03:27:10";
  2. var arr=str.split(" ")
  3. console.log(arr)
  4. var day=arr[0].split("/").join("-");
  5. console.log(day)
  6. var time=arr[1].split(":").join("/");
  7. console.log(time)
  8. var sum=day+" "+time;
  9. console.log(sum) //2019-09-17 03/27/10

六、返回数组

6-1 match()

  • 返回匹配的值,是一个数组
    var str="hello"
    console.log(str.match("e"))
    

    七、map遍历

    var obj=[{name:"xiang",age:18},{name:"wang",age:21},{name:"xiao",age:31}] 
    var newArr=obj.map(item=>{
      return item.name 
    })   
    console.log(newArr.join("/"))    //xiang/wang/xiao