【笔记】Object.values、Object.entries与Object.fromEntries

Object.values():以数组形式返回给定对象可枚举属性的,如:[ 值1,值2,值3,值4 ]

举例如下:

	  //对象
      let obj1 = {one:'a',two:'b',three:'c'};
      Object.values(obj1);   // ["a", "b", "c"]

      //键为数字的对象,注意:此时会按照数字键的顺序输出
      let obj2 = {1:'one',3:'tree',2:'two'};
      Object.values(obj2);   // ["one", "two", "tree"]

      //数组
      let obj3 = ['1','2','3'];
      Object.values(obj3);   // ["1", "2", "3"]

      //字符串
      Object.values('abcd');   // ["a", "b", "c", "d"]

Object.values():以数组形式返回给定对象可枚举属性的 [键:值],如:[ [键1,值1],[键2,值2],[键3,值3],[键4,值4] ]

Object.fromEntries():对Object.values()反向操作,将 [ [键1,值1],[键2,值2],[键3,值3],[键4,值4] ] 转为{键1:值1,键2:值2,键3:值3,键4:值4}

举例如下:

      //对象
      let obj1 = {one:'a',two:'b',three:'c'};
      Object.entries(obj1);   // [["one", "a"],["two", "b"],["three", "c"]]
      //Object.fromEntries()对Object.entries()反向操作
      Object.fromEntries([["one", "a"],["two", "b"],["three", "c"]]);   //{one: "a", two: "b", three: "c"}

      //键为数字的对象,注意:此时会按照数字键的顺序输出
      let obj2 = {1:'one',3:'tree',2:'two'};
      Object.entries(obj2);   //[["1", "one"],["2", "two"],["3", "tree"]]
      //Object.fromEntries()对Object.entries()反向操作
      Object.fromEntries([["1", "one"],["2", "two"],["3", "tree"]]);   //{1: "one", 2: "two", 3: "tree"}

      //数组,注意:此时将数组['1','2','3']当作含数字键的对象{0:'1',1:'2','2','3'}
      let obj3 = ['1','2','3'];
      Object.entries(obj3);   // [["0", "1"],["1", "2"],["2", "3"]]
      //Object.fromEntries()对Object.entries()反向操作
      Object.fromEntries([["0", "1"],["1", "2"],["2", "3"]]);   //{0: "1", 1: "2", 2: "3"}

      //字符串,同数组
      Object.entries('abcd');   // [["0", "a"],["1", "b"],["2", "c"],["3", "d"]]
      //Object.fromEntries()对Object.entries()反向操作
      Object.fromEntries([["0", "a"], ["1", "b"], ["2", "c"], ["3", "d"]]);   //{0: "a", 1: "b", 2: "c", 3: "d"}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章