字符串常用的方法

1.属性

1.1length—获取数组的长度

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

2.增加

2.1concat()—连接两个或多个字符串

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

3.查询

3.1indexOf(value)—查询字符串值的下标

  1. var str="hello world"
  2. str=str.concat("good");
  3. console.log(str.indexOf("g")) //11
  4. console.log(str.indexOf("a")) //-1 如果没有则返回-1

3.2slice(start,end)—查询字符串中的值,从第几位开始查询到第几个下标值结束,包括start,不包括end

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

3.3substring—从那个下标开始,查询到第几个下标值结束,包括start不包括end

  1. var str="hello world"
  2. console.log(str.substring(1,3)) //el

3.4substr(index,length)—从index开始,长度为length的字符串

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

3.5split()—利用分割符将字符串分割为数组

  1. var str="hello"
  2. var arr=str.split("l");
  3. console.log(arr) //['he','','o']
  4. var str="helrd"
  5. console.log(str.split("l")) //"he","rd"

利用slice截取数组

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

例子

1.最终效果 s’tel og emoh

var str="let's go home";
/*最终效果-->   s'tel og emoh */
/* ["let's","go","home"] */
/*split
    [[l,e,t,s],[g,o],[h,o,m,e]] */
/* reserve
    [[s,',t,e,l],[o,g],[e,m,o,h]]
 */
/* join
    ["s'tel","og","emoh"] 
    */
/* join
     s'tel og emoh
    */
var arr=str.split(" ");
var all=[];
arr.forEach(item=>{
  let i=item.split("").reverse().join("")
  all.push(i)
})
console.log(all.join(" "))

2.最终效果 晓/红/丽

var obj=[{name:"晓",age:19},{name:"红",age:13},{name:"丽",age:18}] 
 /*最终效果--> allName="晓/红/丽" */
    /*
    //第一种
    var all=[];
    obj.forEach(item=>{
       var i=item.name;
       all.push(i)
     })
    console.log(all.join("/")) */
    //第二种
    var newArr=obj.map(item=>{
        return item.name
    })
    console.log(newArr.join("/")

3.6search()—搜索字符串是否包含某个值,如果是则返回这个值的下标,如果不是则返回-1

var str="hello world"
console.log(str.search("o"))  //4
console.log(str.search("a"))  //-1

3.7startsWith()—判断一个字符串是以什么开头的,返回boolean

var http="https://www.google.com"
console.log(http.startsWith("https")   //true

例子

1.最终效果 以天或者tian开头的 将city添加到一个数组中

var cities=[{spell:"tianmen",city:"天门"},{spell:"tianjin",city:"天津"},{spell:"tianshan",city:"天山"},
    {spell:"suizhou",city:"随州"}]
   /* 天或tian  开头的  将city添加到一个数组中 */
    /* var allCities=[] */
 var allCities=[];
cities.forEach(item=>{
   if(item.spell.startsWith("t") || item city.startsWith("天")){
      allCities.push(item.city)
   }
})
console.log(allCities)

3.7match()—返回匹配的值,是一个数组

var str="hello"
console.log(str.match("l"))  //["l", index: 2, input: "hello", groups: undefined]

3.8replace(params,params)—替换

第一个参数是被替换的值,第二个参数是替换值

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