簡體   English   中英

鍵/值對的值也可以是鍵嗎?

[英]can a value of a key/value pair also be a key?

在此處輸入圖像描述

在此示例中,要使用鍵“title”和“director”記錄屬性的值,使用 obj[key]。 因為我們已經在 object: 電影的執行上下文中,在這個例子中。 "Obj[key]" 中的 Obj 必須引用 title: 'a',director: 'b' 和 key 指向這些對象的值,所以 "a" 和 "b" 被標注為鍵,對吧?

這些“鍵類型”值也可以用 obj[value] 記錄嗎?


這是課程中的一個例子,但講師解釋得不好,所以我可能已經花了兩個小時試圖理解命名法。 我希望這是正確的,如果不是; 我真的很感激我所犯的任何錯誤。

提前致謝

將圖像中的代碼放在這里以便於參考,還稍微更改了日志以明確哪個是關鍵,哪個是值:

 const movie = { title: 'a', releaseYar: 2018, rating: 4.5, director: 'b' }; showProperties(movie); function showProperties(obj) { for (let key in obj) if (typeof obj[key] === 'string') { console.log('key -->', key); console.log('value -->', obj[key]); } }

不,該示例中的“a”和“b”不是鍵,它們是值。 在該示例中, movie是 object。 電影releaseYear的關鍵是title 、發行年份、 ratingdirector 順便說一下,密鑰只是“財產”的另一個名稱。

showProperties function 中,您循環遍歷每個鍵 - 即。 在每次迭代中, key首先是title ,然后是releaseYear ,依此類推。 第一次迭代中的obj[key]將是movie['title'] ,它會給出a的值。

控制台日志顯示密鑰,然后是movie[key]的值。 因此是title的鍵,以及第一個的a的值。

請看評論了解代碼並運行代碼。

 const movie = { title: "SOmething", releaseDate: 2020, rating: 4.5, director: "Someone", }; function showProperties(object) { for (const key in object) { const value = object[key]; // get value of the key console.log(key, value); // log everything // check if value is type string if (typeof value === "string") { console.log(key, value); // then only if value is string } } } showProperties(movie);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM