目录

数组

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()

遍历数组中每一项并依次处理元素  返回一个新数组

例:

写法一:

es6 数组转对象 js数组转对象 es6_数据结构

  写法二:

es6 数组转对象 js数组转对象 es6_数组_02

arr参数基本不用,可以不写

2. forEach()

遍历数组中每一项   没有返回值  

es6 数组转对象 js数组转对象 es6_数据结构_03

 注意:map和forEach  有可能改变原数组

当要改变的数组中的值是 引用类型

es6 数组转对象 js数组转对象 es6_前端_04

es6 数组转对象 js数组转对象 es6_前端_05

基本类型

es6 数组转对象 js数组转对象 es6_数据结构_06

3. filter()

过滤原数组中的数据  返回一个新数组,把满足条件的放在新数组中,如果没有满足条件的元素,则返回一个空数组   不改变原数组的值

例:

es6 数组转对象 js数组转对象 es6_前端_07

4.find() 

查找到数组中第一个满足条件的元素的值  返回查找到的那个数据,如果找不到则返回undefined

:如果有多个满足条件的元素,只返回满足条件的第一个元素

例:

es6 数组转对象 js数组转对象 es6_前端_08

 5.findIndex() 

查找到数组中第一个满足条件元素的下标  返回查找到的那个数据的下标,如果找不到返回-1

例:

es6 数组转对象 js数组转对象 es6_数据结构_09

 6.some()

查找数组中是否有满足指定条件的元素  返回一个布尔值  只要有满足条件的返回true,没有满足条件,返回false

例:

es6 数组转对象 js数组转对象 es6_es6 数组转对象_10

 7.every() 

查找数组中是否所有元素都符合指定条件 返回一个布尔值  所有元素都满足条件的返回true,有一个元素不满足就返回false  即 一假则假

例:

es6 数组转对象 js数组转对象 es6_前端_11

  8. reduce()

累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 有四个参数 reduce(prev,item,index,array)    prev: 上次返回的结果  可以设置默认值  item 当前数据    index 当前数据的下标   array 当前操作的数组

给初始值如下所示,没有初始直接不写就行

 例:

es6 数组转对象 js数组转对象 es6_es6 数组转对象_12

 如果传入了空数组没有给初始值报错     给个初始值就可以了

es6 数组转对象 js数组转对象 es6_es6 数组转对象_13

 

es6 数组转对象 js数组转对象 es6_数据结构_14

对象

1.Object.is()

        Object.is() 判断两个对象是否相等(比对存储地址)。

例:

es6 数组转对象 js数组转对象 es6_前端_15

es6 数组转对象 js数组转对象 es6_es6_16

 2.Object.assign()

复制到目标对象,它将返回目标对象   如有同名属性,后面的会覆盖前面的

es6 数组转对象 js数组转对象 es6_数据结构_17

3.Object.keys()

遍历对象   返回对象中每一项key的数组

es6 数组转对象 js数组转对象 es6_数组_18

处理数组 返回索引数组

es6 数组转对象 js数组转对象 es6_es6 数组转对象_19

 处理字符串 返回索引数组

es6 数组转对象 js数组转对象 es6_es6_20

也可以结合forEach()来用

es6 数组转对象 js数组转对象 es6_数据结构_21

 4.Object.values()

遍历对象   返回对象中每一项Value的数组  只会遍历对象自身的可遍历属性

es6 数组转对象 js数组转对象 es6_数据结构_22

 5.Object.entries()

        Object.entries() 遍历对象   返回对象中每一项key value的数组 

Object.entries() 可以把一个对象的键值以数组的形式遍历出来,结果和for...in循环遍历该对象时返回的结果一样,但是不会遍历其原型属性

es6 数组转对象 js数组转对象 es6_es6 数组转对象_23

 拓展

1.Set()

        Set是ES6新增的一种数据结构,类似数组,但是它的元素成员是唯一的 可用来数组去重

  • 声明一个set数据类型         
  • Set.size:返回Set中元素的数量                       

       

es6 数组转对象 js数组转对象 es6_前端_24

唯一的  会自动把重复的去掉

      

es6 数组转对象 js数组转对象 es6_数组_25

  • 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直接将 字符串数组转为数字数组 和直接将 数字数组转为字符串数组

es6 数组转对象 js数组转对象 es6_前端_26

 

2.Js通过获取index截取字符串 不生成新数组或新字符串

str.lastIndexOf("/")  获取最后一次斜杠的下标

es6 数组转对象 js数组转对象 es6_es6_27

需要斜杠的话就不用加1了

后续有学到用到的再继续积累~