数组遍历方法和字符串

137 阅读7分钟

一.数组的遍历方法

1.forEach(遍历数组)

  • 语法: 数组.forEach(function(item,index,origin){})
  • 参数
  1. 数组实际每一项值
  2. 数组每一项对应的下标
  3. 原数组
  • 作用: 遍历数组
  • 返回值: 返回值是undefined 哪怕写了return也是undefined

2.map(映射数组)

  • 语法: 数组.map(function(item,index,origin){})
  • 参数
  1. 数组每一项实际的值
  2. 数组每一项实际值对应索引下标
  3. 原数组
  • 作用: 映射数组
  • 返回值: 返回一个和原数组长度一样的数组,返回的数组的每一个值.取决参数的return怎么写

3.fliter(过滤数组)

  • 语法: 数组.fliter(function(item,index,origin){})
  • 参数
  1. 数组每一项实际的值
  2. 数组每一项实际值对应索引下标
  3. 原数组
  • 作用: 过滤数组
  • 返回值: 过滤数组后的新数组,过滤参条件取决于参数return怎么写

4.find(查找数组数据)

  • 语法: 数组.find(function(item,index,origin){})
  • 参数
  1. 数组每一项实际的值
  2. 数组每一项实际值对应索引下标
  3. 原数组
  • 作用: 查找数组
  • 返回值: 在数组内找到第一个数据(不是数组)

5.findIndex(查找索引下标)

  • 语法: 数组.findIndex(function(item,index,origin){})
  • 参数
  1. 数组每一项实际的值
  2. 数组每一项实际值对应索引下标
  3. 原数组
  • 作用: 查找数据第一次出现的索引下标
  • 返回值: 在数组内查找第一次出现的索引下标

6.every(判断数组是否全部满足条件)

  • 语法: 数组.every(function(item,index,origin){})
  • 参数
  1. 数组第一项实际的值
  2. 数组第一项实际值对应索引下标
  3. 原数组
  • 作用: 判断数组内数据是否全部满足条件
  • 返回值: 一个布尔值
  1. true ==== 数组内数据全部满足条件
  2. false ==== 数组内起码有一个数据不符合条件

7.some(判断数组内一项满足条件)

  • 语法: 数组.some(function(item,index,origin){})
  • 参数
  1. 数组每一项实际的值
  2. 数组每一项实际值对应索引下标
  3. 原数组
  • 作用: 判断数组内至少有一项满足条件的
  • 返回值: 一个布尔值
  1. true ==== 表示数组内至少有一项满足条件
  2. false ==== 数组内数据全部都不满足条件

8.reduce(累加/叠加)

  • 语法: 数组.reduce(function(prve,item,index,origin){},init)
  • reduce方法的参数
  1. 如果传递第二个参数init,执行次数和数组长度相同
  2. 如果不传递第二个参数init,默认第一值为数组第一项的值,并且执行次数在数组长度上减1
  • 参数1的函数中4个形参的含义
  1. 表示初始值或者数组第一项的值(具体是什么取决于是否传递 init)
  2. 数组每一项实际的值
  3. 数组每一项实际值对应索引下标
  4. 原数组
  • 作用: 累加(叠加)

  • 返回值: 循环运行结束后的到的值

    二.严格模式:'use strict'

    三.字符串

    1.引号包裹的内容就是字符串

    • 单引号:'' 双引号: "" 反引号就是字符串也叫做 模板字符串(ES6新增)

    2.创建字符串方式

    • 以前创建字符串方式都是通过字面量

              // 1. 字面量
              var str1 = 'hhhh'
              var str2 = "zzz"
              var str3 = `asd`
      ​
              console.log(str1)
      
    • 新的创建方式: 通过内置构造函数

    // 2. 构造函数
            // var str4 = new String()
            // console.log(str4)
    ​
            // var str5 = new String('qwe')
            // console.log(str5)
    

    3.包装类型

    字符串在正常查询使用的时候,就是引号包裹起来的内容
    但是如果想要使用字符串上的方法,js内部会先将字符串包装为一个字符串对象,
        这个对象上有一些方法,使用完毕后,将字符串对象恢复为普通对象
    ​
    

    4.字符集(把字符转为二进制数字存储起来)

   4.1 :ASCII 可以叫 as key(128个)
​
•          4.2 :GBK   国标码(前128as key129开始为汉字)
​
•          4.3 :Unicode(万国码)
​
•               前128位是as key ,从129开始是其他国家的编码
​
•               八位的十六进制编码(相对来说容量小,但是占用内存小)
​
•               十六位的十六进制编码(相对来说容量大,但是占用内存也大)        
​
•               八位的十六进制编码 UTF-8 

5.字符串的方法

1.charAt(查询指定下标的值)

  • 语法: 字符串.charAt(索引)
  • 作用:查询指定下标的值
  • 返回值:查询的值,没有查询到就是一个空字符串

2.charCodeAt(查询指定下标的值对应的十进制码)

  • 语法: 字符串.charCodeAt(索引)
  • 作用:查询指定下标的值对应的十进制码
  • 返回值:查询到的值对应的十进制码,没有查询到就是NaN

3.toLowerCase(将字符串转换成小写)

  • 语法: 字符串.toLowerCase()
  • 作用:将字符串转换成小写
  • 返回值:转换后的字符

4.toUpperCase(将字符串转换成大写)

  • 语法: 字符串.toUpperCase()
  • 作用:将字符串转换成大写
  • 返回值:转换后的字符

5.substr(截取指定字符串) //MDN说明这个方法将来某一天可能会删除,MDN推荐使用substring

  • 语法: 字符串.substr(开始索引,多少个)
  • 作用:截取指定字符串
  • 返回值:截取到的字符串

6.substring(截取指定字符串)

  • 语法: 字符串.substring(开始下标,结束下标)
  • 参数: 结束下标不传,相当于写了length(包前不包后)
  • 作用:截取指定字符串
  • 返回值:截取到的字符串

7.slice(截取指定字符串)

  • 语法: 字符串.slice(开始下标,结束下标)

  • 参数: 结束下标不传,相当于写了length

    1. 结束下标不传,相当于写了length
    2. 开始下标不传,相当于写了0
    3. (包前不包后)
  • 作用:截取指定字符串

  • 返回值:截取到的字符串

8.concat(拼接)

  • 语法: 字符串.concat(数据1,数据2,数据3)
  • 作用:将字符串和参数传递的数据拼接
  • 返回值:拼接后的字符串

9.indexOf(查询数据的位置)

  • 语法: 字符串.indexOf(数据,开始下标)
  • 作用:寻找数据在字符串中的位置
  • 返回值:找到的时候返回下标,找不到返回-1

10.lastIndexOf(倒叙查找)

  • 语法: 字符串.lastIndexOf(数据,开始下标)
  • 作用:寻找数据在字符串中的出现位置(倒叙查找)
  • 返回值:找到返回下标,找不到返回-1

11.split(分割)

  • 语法: 字符串.split('符号')
  • 参数: 如果传递的是空字符串,会将字符串全部分隔开
  • 作用:在字符串中找到分隔符,将其分割,并放置到数组中
  • 返回值:数组形式

12.trim(去掉字符串两侧空格)

  • 语法: 字符串.trim()
  • 作用:去掉字符串两侧的空格
  • 返回值:将去掉空格的字符串返回

13.trimStart-----trimLeft()去掉左侧开始位置的空格

  • 语法: 字符串.trimStart()
  • 作用:去掉字符串左侧(开始位置)的空格
  • 返回值:将去掉空格的字符串返回

14.trimEnd----trimRight()去掉右侧(结束位置)的空格

  • 语法: 字符串.trimEnd()
  • 作用:去掉字符串右侧(结束位置)的空格
  • 返回值:将去掉空格的字符串返回

15.includes(判断当前字符串中是否拥有指定字符串片段)

  • 语法: 字符串.includes('字符串片段')
  • 作用:判断当前字符串中是否拥有指定字符串片段
  • 返回值:true:是拥有; false:没有;

16.startWith(查询字符串开头是不是指定字符串片段)

  • 语法: 字符串.startWith('字符串片段')
  • 作用:查询字符串开始是不是指定的字符串片段
  • 返回值:true:是开头; false: 不是开头

17.endsWith(查询字符串结尾是不是指定字符串)

  • 语法: 字符串.endsWith('字符串片段')
  • 作用:查询字符串结束是不是指定字符串片段
  • 返回值:true:是结尾; false: 不是结尾

18.replace(替换)

  • 语法: 字符串.replace('要被替换的字符,替换的字符')
  • 作用:找到当前字符串中第一个参数对应的值,然后将其替换为第二个参数传入的数据
  • 返回值:替换完成的字符串