第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

編寫一個(gè)方法,該方法接受一個(gè)數(shù)組和一個(gè)對(duì)象,并返回一個(gè)數(shù)組及其在對(duì)象中的對(duì)應(yīng)值

編寫一個(gè)方法,該方法接受一個(gè)數(shù)組和一個(gè)對(duì)象,并返回一個(gè)數(shù)組及其在對(duì)象中的對(duì)應(yīng)值

Helenr 2023-09-21 16:25:33
編寫一個(gè)接受數(shù)組和對(duì)象的方法。該方法應(yīng)返回一個(gè)新數(shù)組,其中原始數(shù)組的元素被對(duì)象中相應(yīng)的值替換。我很困惑為什么它不返回任何東西。我走在正確的軌道上嗎?我不確定我是否應(yīng)該執(zhí)行 arr = result.   function elementReplace(arr, obj) {        var result = [];        for (key in obj) {            result.push(key[obj]);            arr = result;        }        return result;    }        arr1 = ["LeBron James", "Lionel Messi", "Serena Williams"];    obj1 = {"Serena Williams": "tennis", "LeBron James": "basketball"};        elementReplace(arr1, obj1); // returns ["basketball", "Lionel Messi", "tennis"]
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊

我很困惑為什么它不返回任何東西。


你的函數(shù)正在返回一些東西,它返回一個(gè)數(shù)組,如下所示:


[undefined, undefined]

您需要確保用于console.log()將返回值記錄到控制臺(tái)。你之所以得到這樣的結(jié)果是undefined因?yàn)槟闶褂昧薻ey[obj]. 當(dāng)您使用for...in循環(huán)時(shí),key代表對(duì)象中的鍵,這意味著您需要使用obj[key]


我走在正確的軌道上嗎?


你是對(duì)的,你需要一個(gè)循環(huán),但是,你循環(huán)了錯(cuò)誤的東西。該問題要求您創(chuàng)建一個(gè)新數(shù)組,其中原始數(shù)組中的元素將替換為對(duì)象中相應(yīng)的值。這意味著您需要循環(huán) 中的元素arr,并將每個(gè)元素視為中的鍵obj。使用該鍵,您可以obj[key]從對(duì)象中獲取該鍵的相應(yīng)值。您還需要確保鍵位于對(duì)象內(nèi)部,以查看它是否包含值。


邏輯如下:


FUNCTION elementReplace(arr, obj)

? result <- []

? FOR elemKey in arr DO:

? ? ?IF elemKey is a key of obj THEN:

? ? ? ?push obj[elemKey] to result

? ? ?ELSE:

? ? ? ?push elemKey to result

? ? ?END IF

? END FOR

END FUNCTION

我不確定我是否應(yīng)該執(zhí)行 arr = result.


您不需要這樣做,arr = result;因?yàn)檫@只是將函數(shù)內(nèi)的局部變量重新分配給您正在創(chuàng)建的arr新數(shù)組。這并沒有取得多大成果,因?yàn)槟诋?dāng)前代碼中result沒有做任何事情。arr


解決方案(在揭曉之前先嘗試上述方法):

function elementReplace(arr, obj) {


? ?const result = [];


? ?for (const elemKey of arr) { // iterate through each element in the array

? ? ?if (obj.hasOwnProperty(elemKey)) // check if object has key

? ? ? ?result.push(obj[elemKey]);

? ? ?else

? ? ? ?result.push(elemKey);


? ?}


? ?return result;

?}


?const arr1 = ["LeBron James", "Lionel Messi", "Serena Williams"];

?const obj1 = {

? ?"Serena Williams": "tennis",? ?"LeBron James":

? ?"basketball"

?};


?console.log(elementReplace(arr1, obj1)); // returns ["basketball", "Lionel Messi", "tennis"]

?

或者,您可以使用Array.prototype.map()并利用對(duì)象中的每個(gè)值都是true 的事實(shí),這意味著如果您從對(duì)象中得到一個(gè)falseundefined值,它一定是,允許您默認(rèn)值:


const elementReplace = (arr, obj) => arr.map(key => obj[key] || key);




查看完整回答
反對(duì) 回復(fù) 2023-09-21
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)