字符串知识点 : 如何创建,索引,length属性,操作字符串的相关方法

112 阅读4分钟

字符串

创建字符串

1.字面量
  语法: var str = 'abc'

2.构造函数
  内置构造函数的形式创建字符串

字符串的索引和 length 属性

索引和length的含义与 数组 相同
length : 长度
索引(下标): 获取字符串的长度
注意 : 字符串中通过索引能够获取到指定位置的值,
      只不过 获取到的值是 只读 的 ,换句话说获取到的值, 能看  不能 改

操作字符串的方法

1. charAt
    语法: 字符串.charAt(索引)
    作用: 查询指定下标的值
    返回值: 查询到的值,如果没有查询到就返回一个 空字符串
2. charCodeAt
    语法:字符串.charCodeAt(索引)
    作用: 查询指定下标的值   对应的十进制码
    返回值: 查询到的值对应的十进制码,
            如果没有查询到会返回一个 NaN
3. toLowerCase
    语法:字符串.toLowerCase()
    作用:将字符串转换为小写
    返回值:转后的字符串
4. toUpperCase
    语法:字符串.toUpperCase()
    作用:将字符串转换为大写
    返回值:转后的字符串
5. substr
    语法:字符串.substr(开始索引, 多少个)
    作用:截取指定的字符串
    返回值:截取到的字符串
    注意: 官方说明这个方法未来某一天可能会删除
            建议使用 substring
*6. substring
    语法:字符串.substring(开始索引, 结束索引)
    作用:截取指定的字符串
    返回值:截取到的字符串
    注意: 参数包前不包后,结束下标不写相当于length
7. slice
    语法:字符串.slice(开始索引, 结束索引)
    作用:截取指定的字符串
    返回值:截取到的字符串
    注意: 参数包前不包后,结束下标不写相当于length
          结束索引支持负数,相当于length + 负数
8. concat
    语法:字符串.concat(数据1,数据2,...)
    作用:将字符串和参数传递的数据进行拼接
    返回值:拼接后的字符串
9. indexOf
    语法:字符串.indexOf(数据,开始索引)
    作用:寻找数据在字符串中的位置(从前往后)
    返回值:找的的话返回数据下标,找不到返回 -1
    注意: 开始下标可以不写,默认是 0 
10. lastIndexOf
    语法:字符串.lastIndexOf(数据,开始索引)
    作用:寻找数据在字符串中的位置(从后往前找)
    返回值:找的的话返回数据下标,找不到返回 -1
    注意: 开始下标可以不写,默认是 length - 1 
11. split
    语法:字符串.split('符号')
    作用:在字符串中找到‘符号’然后将这个字符串分隔,并放在一个数组内
    返回值:一个数组
    注意: 参数如果传递的是空字符串('') ,会将字符串全部分割开
12. trim
    语法:字符串.trim()
    作用:去掉字符串两侧的空格
    返回值:去掉空格后的字符串
13. trimStart / trimLeft
    语法:字符串.trimStart() / 字符串.trimLeft()
    作用:去掉字符串左侧的空格
    返回值:去掉空格后的字符串
14. trimEnd / trimRight
    语法:字符串.trimEnd() / 字符串.trimRight()
    作用:去掉字符串右侧的空格
    返回值:去掉空格后的字符串
15. includes
    语法:字符串.includes(字符串片段)
    作用:判断当前字符串中是否有字符串片段
    返回值:布尔值  true / false
16. startsWith
    语法:字符串.startsWith(字符串片段)
    作用:判断当前字符串开头是不是字符串片段
    返回值:布尔值  true / false
17. endsWith
    语法:字符串.endsWith(字符串片段)
    作用:判断当前字符串结尾是不是字符串片段
    返回值:布尔值  true / false
18. replace
    语法:字符串.replace('要被替换的字符',替换的字符)
    作用:替换字符串的内容
    返回值:替换后的字符串

典型案例:(面试题)

统计字符串中 每个字符出现的次数 (以对象的形式存储)

var str = 'aaabbbccddeeee'
var obj = {}
var i = 0
for (i = 0; i < str.length; i++){
  var key = str[i]
  if(obj[key] === str[i]){
    obj[key]++
  }
  else{
    obj[key] = 1
  }
}
for(key in obj){   //遍历这个对象
  console.log(key + ':' + obj[count])
}

image.png