成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你知道Object.entries(),但你還知道有Object.fromEntries()嗎?

開發(fā) 前端
我們得到 object.entries(),它轉(zhuǎn)換一個object → array。但是,如果您想做相反的事情怎么辦?不用再想了! 使用 Object.fromEntries() 來array → object 。

我們得到 object.entries(),它轉(zhuǎn)換一個object → array。但是,如果您想做相反的事情怎么辦?不用再想了! 使用 Object.fromEntries() 來array → object 。

  1. const keyValuePair = [ 
  2.   ['cow', ''], 
  3.   ['pig', ''], 
  4. ]; 
  5. Object.fromEntries(keyValuePair); 
  6. // { cow: '', pig: '' } 

Object.fromEntries

我們先指出對象的解剖方法,對象是有一個鍵和一個值的東西。

  1. const object = { 
  2.   key: 'value', 
  3. }; 

如果我們想將某物轉(zhuǎn)換為對象,我們需要傳遞具有這兩個要求的東西:key 和 value。

  • 具有嵌套鍵值對的數(shù)組
  • Map對象

用Object.fromEntries將數(shù)組轉(zhuǎn)為對象

這是帶有鍵值對的嵌套數(shù)組

  1. const nestedArray = [ 
  2.   ['key 1', 'value 1'], 
  3.   ['key 2', 'value 2'], 
  4. ]; 

當我們將 Object.fromEntries 應(yīng)用于它時,我們可以從中獲取對象。

  1. Object.fromEntries(nestedArray); 
  2. // { key 1: "value 1", key 2: "value 2"} 

用Object.fromEntries將Map轉(zhuǎn)為對象

JavaScript ES6為我們帶來了一個名為map的新對象,它與對象非常相似。

讓我們創(chuàng)建新的Map對象

  1. // 使用構(gòu)造函數(shù) 
  2. const map = new Map([ 
  3.   ['key 1', 'value 1'], 
  4.   ['key 2', 'value 2'], 
  5. ]); 
  6. // 或者我們可以使用實例方法,"set" 
  7. const map = new Map(); 
  8. map.set('key 1', 'value 1'); 
  9. map.set('key 2', 'value 2'); 
  10. // 結(jié)果 
  11. // Map(2) {"key 1" => "value 1", "key 2" => "value 2"} 

現(xiàn)在,我們使用 Object.fromEntries 將Map轉(zhuǎn)換為對象

  1. Object.fromEntries(map); 
  2. // { key 1: "value 1", key 2: "value 2"} 

Object.fromEntries與其他類型的類型錯誤

當你試圖將其他數(shù)據(jù)類型傳遞到 Object.fromEntries 時,請小心,所有這些都會拋出一個錯誤

❌ 未捕獲的類型錯誤(Uncaught TypeError)

你知道Object.entries(),但你還知道有Object.fromEntries()嗎? 

確保只傳遞鍵值對。

Object.fromEntries vs Object.entries

Object.fromEntries 與 Object.entries 的效果相反。所以 Object. entries 將轉(zhuǎn)換我們的數(shù)組并返回一個新的嵌套的鍵值對數(shù)組。而 Object.fromEntries 將把這個數(shù)組轉(zhuǎn)回一個對象。

  1. const object = { key1: 'value1', key2: 'value2' }; 
  2. const array = Object.entries(object); 
  3. // [ ["key1", "value1"], ["key2", "value2"] ] 
  4. Object.fromEntries(array); 
  5. // { key1: 'value1', key2: 'value2' } 

Object到Object的轉(zhuǎn)換

如果你閱讀了原始的TC39提案,這就是引入此新方法的原因。隨著 Object.entries 的引入,沒有一種簡單的方法可以將結(jié)果轉(zhuǎn)換回對象。

通常,當我們選擇使用 Object.entries 時,是因為它使我們可以訪問許多漂亮的數(shù)組方法,例如 filter。但是在完成轉(zhuǎn)換之后,我們有點被該數(shù)組所困擾。

  1. const food = { meat: '', broccoli: '', carrot: '' }; 
  2. //  Stuck in Array land 
  3. const vegetarian = Object.entries(food).filter( 
  4.   ([key, value]) => key !== 'meat', 
  5. ); 
  6. // [ ["broccoli", ""], ["carrot", ""] ] 

我們可以利用所有這些有用的數(shù)組方法,但仍然可以找回我們的對象,最后,從對象到對象的轉(zhuǎn)換 。

  1. const food = { meat: '', broccoli: '', carrot: '' }; 
  2. //  Yay, still in Object land 
  3. const vegetarian = Object.fromEntries( 
  4.   Object.entries(food).filter(([key, value]) => key !== 'meat'), 
  5. ); 
  6. // { broccoli: '', carrot: '' } 

瀏覽器支持

除了Internet Explorer,大多數(shù)主流瀏覽器都支持此方法 。

你知道Object.entries(),但你還知道有Object.fromEntries()嗎?

如果對你有所啟發(fā)和幫助,可以點個關(guān)注、收藏、轉(zhuǎn)發(fā),也可以留言討論,這是對作者的最大鼓勵。

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-07-05 08:34:22

虛擬機JavaJVM

2020-06-24 08:27:36

ES數(shù)組對象

2022-08-02 10:01:34

Import語句ES模塊

2019-11-21 14:56:40

特殊文件Linux開發(fā)

2023-01-31 09:02:24

JSVMVR

2023-04-26 10:21:04

2024-06-14 07:59:00

2016-01-04 11:03:53

手柄vr輸入設(shè)備

2018-01-25 21:32:24

Emoji表情iPhone

2018-01-10 08:27:00

2010-11-23 10:21:53

跳槽

2019-07-04 05:22:02

物聯(lián)網(wǎng)設(shè)備物聯(lián)網(wǎng)IOT

2016-09-29 15:49:08

hadoop大數(shù)據(jù)領(lǐng)域

2023-01-28 10:27:04

2022-09-14 08:11:06

分頁模糊查詢

2020-03-23 08:31:13

網(wǎng)絡(luò)時延時延網(wǎng)絡(luò)

2023-02-25 16:02:48

2022-06-01 07:10:43

遞歸字典極限

2010-09-17 16:16:05

無線接入技術(shù)

2023-04-26 10:06:08

RocketMQ屬性Consumer
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲黄色高清视频 | 欧美专区在线 | 日韩av免费在线观看 | 国产亚洲欧美另类一区二区三区 | 美女福利视频一区 | 男人电影天堂 | av激情影院 | 日韩乱码一二三 | 神马久久久久久久久久 | 久久a久久 | 国产精品福利在线观看 | 精品videossex高潮汇编 | 91精品国产综合久久久久蜜臀 | 亚洲高清视频一区 | 羞羞的视频免费看 | 毛片黄片 | 一区二区精品电影 | 欧美一区二区在线 | 久久久久久毛片免费观看 | 国产在线精品区 | 毛片黄| 精品国产一区二区三区四区在线 | 亚洲欧洲精品一区 | 国产毛片久久久久久久久春天 | 午夜网 | 中文字幕一区在线观看视频 | 欧美日韩中文在线 | 羞羞视频免费观 | 免费看一区二区三区 | 国产在线高清 | 狠狠狠色丁香婷婷综合久久五月 | 国产91久久久久久久免费 | 男女一区二区三区 | 日韩久久久一区二区 | 91网站视频在线观看 | 天堂一区 | 鲁一鲁资源影视 | 久久久久国产精品一区 | 亚洲精品成人免费 | 黄色三级在线播放 | 中文字幕国产精品 |