目录
数组
1.map()
2. forEach()
注意:map和forEach 有可能改变原数组
3. filter()
4.find()
5.findIndex()
6.some()
7.every()
8. reduce()
对象
1.Object.is()
2.Object.assign()
3.Object.keys()
4.Object.values()
5.Object.entries()
拓展
1.Set()
2.Map()
积累~
1.Js直接将 字符串数组转为数字数组 和直接将 数字数组转为字符串数组
2.Js通过获取index截取字符串 不生成新数组或新字符串
数组
1.map()
遍历数组中每一项并依次处理元素 返回一个新数组
例:
写法一:
写法二:
arr参数基本不用,可以不写
2. forEach()
遍历数组中每一项 没有返回值
注意:map和forEach 有可能改变原数组
当要改变的数组中的值是 引用类型
基本类型
3. filter()
过滤原数组中的数据 返回一个新数组,把满足条件的放在新数组中,如果没有满足条件的元素,则返回一个空数组 不改变原数组的值
例:
4.find()
查找到数组中第一个满足条件的元素的值 返回查找到的那个数据,如果找不到则返回undefined
注:如果有多个满足条件的元素,只返回满足条件的第一个元素。
例:
5.findIndex()
查找到数组中第一个满足条件元素的下标 返回查找到的那个数据的下标,如果找不到返回-1
例:
6.some()
查找数组中是否有满足指定条件的元素 返回一个布尔值 只要有满足条件的返回true,没有满足条件,返回false
例:
7.every()
查找数组中是否所有元素都符合指定条件 返回一个布尔值 所有元素都满足条件的返回true,有一个元素不满足就返回false 即 一假则假
例:
8. reduce()
累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 有四个参数 reduce(prev,item,index,array) prev: 上次返回的结果 可以设置默认值 item 当前数据 index 当前数据的下标 array 当前操作的数组
给初始值如下所示,没有初始直接不写就行
例:
如果传入了空数组且没有给初始值会报错 给个初始值就可以了
对象
1.Object.is()
Object.is() 判断两个对象是否相等(比对存储地址)。
例:
2.Object.assign()
复制到目标对象,它将返回目标对象 如有同名属性,后面的会覆盖前面的。
3.Object.keys()
遍历对象 返回对象中每一项key的数组
处理数组 返回索引数组
处理字符串 返回索引数组
也可以结合forEach()来用
4.Object.values()
遍历对象 返回对象中每一项Value的数组 只会遍历对象自身的可遍历属性
5.Object.entries()
Object.entries() 遍历对象 返回对象中每一项的key value的数组
Object.entries() 可以把一个对象的键值以数组的形式遍历出来,结果和for...in循环遍历该对象时返回的结果一样,但是不会遍历其原型属性
拓展
1.Set()
Set是ES6新增的一种数据结构,类似数组,但是它的元素成员是唯一的 可用来数组去重
- 声明一个set数据类型
- Set.size:返回Set中元素的数量
唯一的 会自动把重复的去掉
- Set.has(key):查找Set对象中是否存在key,返回一个布尔值
- Set.add(key):往Set对象中添加一个元素
- Set.delete(key):删除元素key
- Set.clear(): 清空Set的全部元素
- 遍历Set
- Set转数组
2.Map()
Map也是ES6新增的数据结构,类似于对象,本质上就是键值对的集合,对象的键只能是字符串或者Symbols,但Map的键可以为任意类型
- 通过传入二维数组方式创建
- Map.size:返回Map对象中键值对数量
- Map.has(key):查找Map对象中是否存在key,返回一个布尔值
- Map.set(key, value):设置Map对象的键值对(键名,键值),返回当前对象
- Map.get(key):返回key值对应的value,如果key不存在则返回undefined
- Map.delete(key):删除Map对象中键名为key的键值对
- Map.clear():移除Map对象中保存的所有键名/键值对
数组和对象的方法在Set和Map中同样适用~
积累~
1.Js直接将 字符串数组转为数字数组 和直接将 数字数组转为字符串数组
2.Js通过获取index截取字符串 不生成新数组或新字符串
str.lastIndexOf("/") 获取最后一次斜杠的下标
需要斜杠的话就不用加1了
后续有学到用到的再继续积累~