数组的常用方法
1.push()-----添加数据
-
push
是用来在数组的末尾追加一个元素 -
返回值 是添加数据之后 新数组的长度
2.pop()-----删除数据
-
pop
是用来删除数组末尾的一个元素 -
返回值 是删除的数组的最后的那一个数据
3.unshift()-----添加数据
-
unshift
是在数组的最前面添加一个元素 -
返回值 是添加数据之后 新数组的长度
4.shift()-----删除数据
-
shift
是删除数组最前面的一个元素 -
返回值 是删除的数组的第一个数据
5.reverse()-----反转
-
reverse
是用来反转数组使用的
6.sort()-----排序
-
sort
是用来给数组排序的
7.splice()-----截取数组
-
splice
是截取数组中的某些内容,按照数组的索引来截取 -
语法:
splice(从哪一个索引位置开始,截取多少个,替换的新元素)
(第三个参数可以不写)-
arr.splice(1, 2)
表示从索引 1 开始截取 2 个内容 -
第三个参数没有写,就是没有新内容替换掉截取位置
-
8. concat()
-
concat
是把多个数组进行拼接 -
语法: 原始数组.concat(数1, 数2, 数据, ...)
-
返回值: 拼接好的数组
-
和 push 的区别
-
push 直接改变原始数组
concat
不会改变原始数组,而是返回一个新的数组 -
插入数据-->push 直接把数据插入 -> concat 如果遇到数组, 会把数组拆开, 把每一个数据依次插入
-
9. join()-----数组 => 字符串
-
join
是把数组里面的每一项内容链接起来,变成一个字符串-
作用: 使用连接符, 把数组内的每一个数据连接成一个字符串(不写默认使用 逗号)
-
-
语法: 数组.join('连接符')
-
返回值: 连接好的字符串
10. slice()
-
作用: 截取数据的部分内容
-
语法: 数组.slice(开始索引, 结束索引)[开始的索引, 结束的索引)
-
参数特点:
-
=> 包前不包后, 包含开始索引位置数据, 不包含结束索引位置数据
-
=> 开始索引不填, 默认是 0, 结束索引不填, 默认是 length
-
=> 可以填写负整数, 表示倒数第几个, 其实就是 length + 负整数
-
-
返回值: 必然是一个新数组
-
内部就是截取出来的部分内容和 splcie 的区别
-
splice 改变原始数组 ---- slice 不改变原始数组
-
splice(开始索引, 多少个)-------slice(开始索引, 结束索引)
-
// + 返回值: 必然是一个新数组
// => 内部就是截取出来的部分内容
// + 和 splcie 的区别
// => 改变原始数组
// -> splice 改变原始数组
// -> slice 不改变原始数组
// => 参数
// -> splice(开始索引, 多少个)
// -> slice(开始索引, 结束索引)
-
// => 包前不包后, 包含开始索引位置数据, 不包含结束索引位置数据
11. indexOf()
-
作用: 从前到后检索该数据第一次在该数组内出现的位置
-
语法:
-
=> 数组.indexOf(数据)
-
=> 数组.indexOf(数据, 开始索引)
-
-
返回值:
-
=> 如果在数组内找到了该数据, 那么就是该数据第一次出现的索引位置
-
=> 如果在数据内没有找到该数据, 那么就是 - 1
-
12. lastIndexOf()
-
作用: 从后向前检索该数据第一次在该数组内出现的位置
-
语法:
-
=> 数组.lastIndexOf(数据)
-
=> 数组.lastIndexOf(数据, 开始索引
-
-
返回值:
-
=> 如果在数组内找到了该数据, 那么就是该数据第一次出现的索引位置
-
=> 如果在数据内没有找到该数据, 那么就是 - 1
-
13. forEach
-
作用:遍历数组
-
语法:
arr.forEach(function (item, index, arr) {})
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 没有(undefined)
14. map
-
作用: 映射数组(对数组中的每一项进行操作,返回一个新的数组)
-
语法: 数组.map( function (item, index, origin) {} )
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 和原始数组长度一样的数组, 只不过内部数据经过映射加工
-
注意: 映射条件以 return 的形式书写
15. filter
-
作用: 过滤数组(把原始数组中满足条件的筛选出来,组成一个新的数组返回)
-
语法: 数组.filter( function (item, index, origin) {} )
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 必然是一个新数组, 内部存储的是原始数组内过滤出来的部分数据
-
注意: 过滤条件以 return 的形式书写
16. find
-
作用: 在原始数组内查找满足条件的第一项
-
语法: 数组.find( function (item, index, origin) {} )
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 找到的数据
-
注意: 查找条件以 return 的形式书写
17. findIndex
-
作用: 在原始数组内查找满足条件的第一项的索引
-
语法: 数组.findIndex( function (item, index, origin) {} )
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 找到的数据的索引
-
注意: 查找条件以 return 的形式书写
18. every
-
作用: 判断数组内是否每一个都满足条件
-
语法: 数组.every( function (item, index, origin) {} )
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 一个布尔值
=> true, 说明数组内每一个数据都满足条件
=> false, 说明数组内至少有一个是不满足条件的
-
注意: 判断条件以 return 的形式书写
19. some
-
作用: 判断数组内是否有某一个满足条件
-
语法: 数组.some( function (item, index, origin) {} )
-
item: 表示数组的每一项, index: 表示数组每一项的索引,origin: 表示原始数组
-
返回值: 一个布尔值
=> true, 说明数组内至少有某一个是满足条件的
=> false, 说明数组内所有的项都不满足条件
-
注意: 判断条件以 return 的形式书写
20. reduce
-
作用: 用来实现叠加效果
-
语法: 数组.reduce(function (prev, item, index, origin) {}, init)
=> prev: 表示初始值或者上一次的运算结果
=> item: 表示数组的每一项
=> index: 表示数组每一项的索引
=> origin: 表示原始数组
-
返回值: 最终叠加结果
-
注意: 叠加条件以 return 的形式书写
-
注意: prev 的值, 如果你传递了 init, 就是 init 的值, 如果你没有传递 init, 那么就是数组 [0] 的值
-
注意: 如果你传递了 init, 循环执行 length 次, 如果你没有传递 init, 循环执行 length - 1 次, 少的是第一次
字符串的常用方法
通用语法: 字符串.方法名()
-
注意: 所有的字符串常用方法都会不改变原始字符串, 而是以返回值形式给出结果
-
如果结果是字符串 也是一个新的字符串
1. charAt()
-
语法: 字符串.charAt(索引)
-
返回值: 该索引位置的字符=> 如果没有该索引位置, 返回的是 空字符串
2. charCodeAt()
-
语法: 字符串.charCodeAt(索引)
-
返回值: 该索引位置字符的 unicode 编码 => 如果没有该索引位置, 返回的是 NaN
3. toUpperCase()
-
语法: 字符串.toUpperCase()
-
返回值: 将原始字符串内的所有字母转换成大写
4. toLowerCase()
-
语法: 字符串.toLowerCase()
-
返回值: 将原始字符串内的所有字母转换成小写
5. substr()
-
语法: 字符串.substr(开始索引, 多少个)
-
返回值: 截取出来的部分字符串
6. substring()
-
语法: 字符串.substring(开始索引, 结束索引)
-
特点: 包前不包后
-
返回值: 截取出来的部分字符串
7. slice()
-
语法: 字符串.slice(开始索引, 结束索引)
-
特点: 包前不包后, 填写负整数
-
返回值: 截取出来的部分字符串
8. split()
-
语法: 字符串.split('分隔符')
-
返回值: 是一个数组 => 按照分隔符把字符串分开成为几段内容
9. concat()
-
语法: 字符串.concat(字符串1, 字符串2, ...)
-
返回值: 拼接好的字符串
10. indexOf()
-
语法: 字符串.indexOf(查找的字符, 开始索引)
-
返回值:
-
如果原始字符串内有该字符串片段, 那么是该字符串片段第一次出现的首字母索引位置
-
如果原始字符串内没有该字符串片段, 那么是 - 1
-
11. lastIndexOf()
-
语法: 字符串.lastIndexOf(字符串片段, 开始索引)
-
返回值:
-
如果原始字符串内有该字符串片段, 那么是该字符串片段第一次出现的首字母索引位置
-
如果原始字符串内没有该字符串片段, 那么是 - 1
-
12. includes()
-
作用: 该字符串中是否包含该字符串片段
-
语法: 字符串.includes(字符串片段)
-
返回值: 一个布尔值
-
true 说明有该字符串片段
-
false 说明没有该字符串片段
-
13. startsWith()
-
作用: 判断该字符串是否以该字符串片段开头
-
语法: 字符串.startsWith(字符串片段)
-
返回值: 一个布尔值
-
true 说明以该字符串片段开头
-
false 说明不以该字符串片段开头
-
14. endsWith()
-
作用: 判断该字符串是否以该字符串片段结尾
-
语法: 字符串.endsWith(字符串片段)
-
返回值: 一个布尔值
-
true 说明以该字符串片段结尾
-
false 说明不以该字符串片段结尾
-
15. trim()
-
作用: 去除字符串首尾空白
-
语法: 字符串.trim()
-
返回值: 去除首尾空白后的字符串
16. trimStart() / trimLeft()
-
语法:
-
字符串.trimStart()
-
字符串.trimLeft()
-
-
返回值: 去除开始位置空白以后的字符串
17. trimEnd() / trimRight()
-
语法:
-
字符串.trimEnd()
-
字符串.trimRight()
-
-
返回值: 去除结束位置空白以后的字符串
18. repalce()
-
作用: 替换原始字符串内的片段
-
语法: 字符串.replace(换下字符, 换上字符)
-
返回值: 替换好的字符串
-
注意: 只能替换一个
数字常用方法
通用语法: Math.方法名()
1. random()
-
语法: Math.random()
-
作用: 获取随机数字
-
返回值: 一个 0 ~ 1 之间的随机小数, 包含 0 但是不包含 1
2. round()
-
语法: Math.round(数字)
-
作用: 四舍五入取整
-
返回值: 取整后的结果
3. ceil()
-
语法: Math.ceil(数字)
-
作用: 向上取整
4. floor()
-
语法: Math.floor(数字)
-
作用: 向下取整
5. abs()
-
语法: Math.abs(数字)
-
作用: 取绝对值
-
绝对值: 在数轴上点到原点的距离
6. pow()
-
语法: Math.pow(底数, 指数)
-
语法: Math.pow(谁, 的多少次方)
-
作用: 取幂运算
7. sqrt()
-
语法: Math.sqrt(数字)
-
作用: 去数字的算术平方根
8. max()
-
语法: Math.max(数字1, 数字2, 数字3, ...)
-
作用: 找到若干数字中的最大值
9. min()
-
语法: Math.min(数字1, 数字2, 数字3, ...)
-
作用: 找到若干数字中的最小值
10. PI
-
语法: Math.PI
-
得到: 一个近似 π 的值
补充:Math.random() // 0~1之间的小数、
-
随机数的公式: Math.floor(Math.random()*数字数量+起始值)
//比如 1-47 数字数量 47 起始值 1