常用的数组遍历和字符串的方法

130 阅读5分钟

数组的遍历(下面数组的都用到function)

1.forEast
语法:数组.forEach(function(item,index,origin) {})
参数:
a.  item(第一项的值) : 数组实际每一项的值
b.  index (第二项的值) : 数组每一项对应的值 
c.  origin : 原始数据(每一次都要打印)
作用:遍历数组
返回值:返回值是undefined  return也不能改变 不管怎么样都是undefined

2.map
语法:数组.map(function(item, index, origin) {})
参数:a. 数组每一项的值
     b. 数组每一项对应的下标
     c. 原始数据
作用: 映射数组
返回值: 返回一个和原始数据一样长度的数组,返回的值取决于return

3.filter
语法:数组.filter(function(item, index, origin) {return < 3 等等条件})
参数: 
a. 原始数据的每一项值
b. 每一项值对应的下标
c. 原始数据
作用: 过滤数组
返回值: 过滤数组以后的新数组,取决于return 满足条件的留下来

4.find
语法: 数组.find(function(item, index, origin) {})
参数:
a. 原始数据的每一项
b. 每一项值对应的下标
c. 原始数据
作用: 查找数据
返回值:在数组内查找的数据,满足条件的第一项

5.findIndex
语法:数组.findIndex(function(item, index, origin){})
参数:
a. 原始数据的每一项
b. 每一项值对应的下标
c. 原始数据
作用: 查找数据
返回值: 在数组内第一次出现的的下标

6.every
语法: 数组.every(function(item, index, origin) {})
参数:
a. 原始数据的每一项
b. 每一项值对应的下标
c. 原始数据
作用: 判断数组内是否全部满足条件
返回值: true:全部满足条件  false:最少有一个

7.some
语法:数组.some(function(item, index,origin) {})
参数: 
a. 原始数据的每一项
b. 每一项值对应的下标
c. 原始数据
作用: 判断数组内是否有一个满足条件 
返回值: true 数组内至少有一个满足条件  false 全部不满足条件

8. reduce
语法: 数组.reduce(function(prve, item, index, origin) {},init)
reduce的参数:
 a.如果传递第二个参数init,执行次数和数组长度相同 第二个参数就是第一个
 b.如果不传递第二个参数, 数组的第一个值就是prve的第一个数且长度比原来的数据少一个
 函数的参数:
 第一个参数: 表示初始值(取决于init)/数组第一项的值
 第二个参数: 原始数据的每一项
 第三个参数: 表示数据对应的下标
 第四个参数: 原始数据
 作用: 累加(都是数字类型 init是数字类型)/叠加(init是子符串)
 返回值: 累加/叠加得到的值

字符串
字符串也有下标和length(长度)
但是字符串的下标指定位置的数据是只读的 不能修改

字符串的方法

  字符串
  字符串也有下标和length(长度)
  但是字符串的下标指定位置的数据是只读的 不能修改
    
1.charAt
语法: 字符串.charAt(索引)
作用: 查询指定下标的值
返回值: 查询到的值 没有查询到就是一个空字符串(什么都没有空的)

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

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

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

5.subStr (可能被删除,不推荐使用)
语法:字符串.subStr(开始索引,多少个)
作用: 截取指定字符串
返回值:截取的字符串

6.subString
语法:字符串.subString(开始下标,结束下标) //结束下标可以不写  包前不包后 结束下标不转相当于写了length 
作用: 截取指定的字符串
返回值:截取到的字符串

7.slice
语法:字符串.slice(开始索引,结束索引) //都可以不写  包前不包后  结束下标不写相当于写了length  开始下标不写相当于写了0  都不写相当于截取全部数组
作用:截取指定的字符串
返回值: 截取到的字符串

8.conCat
语法:字符串.conCat(数据1,数据2...)
作用:将参数拼接到字符串后面
返回值: 拼接后的字符串

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

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

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

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

13.trimStart/trimLeft
语法:字符串.timeStart()
作用:去掉开始的空格
返回值:去掉以后的字符串

14.trimEnd/trimRight
语法:字符串.trimEnd()
作用:去掉结束的空格
返回值:去掉结束以后的字符串

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

16.startsWith
语法:字符串.startsWith("字符串片段")
作用:查询字符串开头是不是有指定的字符串
返回值:true 是开头  false  不是开头

17.endsWith
语法:字符串.endsWith("字符串片段")
作用:查询字符串片段是不是在结尾拥有
返回值:true 是结尾  false 不是结尾

18.replace
语法:字符串.replace('要被替换的片段' , '替换的片段')
作用:找到当前字符段第一个参数对应的值,然后用第二个参数的值替换它
返回值:替换完的字符串

扩展:

 严格模式
 在最顶部加以后"use strict" js最顶部

 补充: 字符串"" '' ``(E6的) 都可以
 命名方法: a.子面量:var a = 'hehe'
          b.构造函数: var str = new String() //"qwe"