簡體   English   中英

數組的第一個值作為鍵名,最后一個值作為值 JavaScript?

[英]First value of an array as a Key name and last one as a value JavaScript?

我是一名初學者編程學生,我對如何集中精力和理解這個練習有些疑問。

任何人都可以解釋我面對這個練習的邏輯嗎?

我有一個這樣的數組: ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'] 我想要這個結果: { Queen: 'Beyonce' }

我想讓 function 返回以下內容:

  1. 數組的第一個元素作為對象的鍵
  2. 數組的最后一個元素作為該鍵的值。 我在數組中做一個 var 鍵,然后在數組中循環

有人建議我這樣做,但我不太了解 shift 和 pop 在這里如何工作,因為 shift 刪除數組的第一個值並彈出最后一個值。

任何人都可以幫助我嗎?

 function transformFirstAndLast(array) { // your code here let myobj={} myobj[array.shift()] = array.pop(); console.log(myobj); } var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']); console.log(output);

簡而言之,這些方法會改變原始數組(刪除第一個或最后一個元素),但也會返回被刪除的元素。

arr.shift():解釋:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift

 const myArr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']; //remove the first element and save it in the variable firstElem const firstElem = myArr.shift(); console.log(firstElem); //output: "Queen" console.log(myArr); //output: "['Elizabeth', 'Of Hearts', 'Beyonce']"

arr.pop():解釋:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop

 const myArr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']; //remove the last element and save it in the variable firstElem const lastElem = myArr.pop(); console.log(lastElem); //output: "Beyonce" console.log(myArr); //output: "['Queen', 'Elizabeth', 'Of Hearts']"

因此,為了讓您的示例更清楚,請參閱此稍作修改的代碼:

 function transformFirstAndLast(array) { // your code here let myobj={} const firstElem = array.shift(); const lastElem = array.pop(); myobj[firstElem] = lastElem //console.log(myobj); return myobj; } var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']); console.log(output);

而不是改變原始數組,你可以這樣做:

 function transformFirstAndLast(array) { // your code here let myobj={}; myobj[array[0]] = array[array.length - 1]; console.log(myobj); } var output = transformFirstAndLast(['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']); console.log(output);

數組就像一個有序項目的列表,我們可以通過索引訪問這個列表,索引也是從 0 開始的。所以如果我想訪問列表的第 4 項,我會嘗試使用指數3。

現在,回到列表,我們在這里考慮,即 ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce'] 並說,我們將其命名為“數組”作為 function 的參數,我們得到以下 -

數組等於['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']

數組 [0]等於'Queen'

數組 [1]等於“伊麗莎白”

數組 [2]等於'Of Hearts'

數組 [3]等於“碧昂絲”

array.length等於4 (給出數組具有的項目數)

現在,我們的目標是創建一個字典或 object 像{'Queen': 'Beyonce'} 而且,如果我們嘗試逐行理解 function。

  1. let result = new Object(); - 它創建一個空的 object,比如沒有鍵、值對的空字典。 簡單來說, result = {}
  2. result[array[0]] = array[array.length-1]; - 這是所有魔法發生的地方。 因此,首先,我們嘗試評估左側的result[array[0]]並得到result['Queen'] 對於右手邊,我們有array[array.length-1] 所以如果我們打破它, array[array.length-1] => array[4-1] => array[3] => 'Beyonce' 最后,如果結合這兩個方面,我們得到result['Queen'] = 'Beyonce' ,它創建了一個 object {'Queen': 'Beyonce'}

總而言之,該方法不會迭代或循環列表。 此方法沒有移位或刪除。 它使用數組的索引訪問列表。 首先,它創建一個空的 object。 然后,它使用列表的第一項作為鍵,最后一項作為值,在 object 中創建一個條目。

暫無
暫無

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

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