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

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

編寫js程序創(chuàng)建map_armstrong函數(shù)

編寫js程序創(chuàng)建map_armstrong函數(shù)

qq_花開花謝_0 2023-08-18 16:20:15
創(chuàng)建一個(gè)具有兩個(gè)參數(shù)pre_map和arr 的函數(shù)。其中pre_map將是通過我們的測試用例提供給您的內(nèi)置地圖,而arr將是一個(gè)數(shù)字?jǐn)?shù)組。對于給定數(shù)組中的每個(gè)元素,您的函數(shù)應(yīng)該檢查該元素是否作為其鍵之一存在于給定的pre_map中。例如:pre_map { 0 => 真,1 => 真,10 => 假,19 => 假,370 => 真 }到達(dá) [10, 407]如果存在的話,delete它來自pre_mappre_map { 0 => 真,1 => 真,19 => 假,370 => 真 }例如:否則,add a new key在給定的pre_map中,其值將是一個(gè)布爾值true,或者false基于該鍵是否是一個(gè)armstrong number。(還記得之前存儲庫中的阿姆斯特朗數(shù)字嗎?)pre_map { 0 => 真,1 => 真,19 => 假,370 => 真,407 => 真}例如:然后,返回更新后的地圖 ( pre_map )function task09(pre_map, arr) {  let obj = Object.fromEntries(pre_map);  function isArmstrong(number) {    if (number < 0) {      return false;    }    let num_to_str = number.toString();    let sum = 0;    for (let i = 0; i < num_to_str.length; i++) {      let num = parseInt(num_to_str[i]);      sum += Math.pow(num, num_to_str.length);    }    return (number == sum);  }  for (let i = 0; i < arr.length; i++) {    let entry = arr[i].toString();    if (obj.entry !== undefined) {      delete obj.entry;    } else {      obj.entry = isArmstrong(parseInt(entry));    }  }  return new Map(Object.entries(obj));}我的代碼有什么問題以及為什么它沒有通過一些測試用例。
查看完整描述

1 回答

?
慕妹3242003

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

方案一(直接修改原圖):

function task09(pre_map, arr) {

  function isArmstrong(num) {

    if (num < 0) return false;

    

    const numToStr = num.toString();

    let sum = 0;


    for (let i = 0; i < numToStr.length; i++) {

      sum += Math.pow(parseInt(numToStr[i]), 3);

    }


    return num === sum;

  }


  arr.forEach(item => {

    if (pre_map.has(item)) {

      pre_map.delete(item);

    } else {

      pre_map.set(item, isArmstrong(item));

    }

  });

  

  return pre_map;

}



/********

 * test *

 ********/


const myMap = new Map();

myMap.set(0, true);

myMap.set(1, true);

myMap.set(10, false);

myMap.set(19, false);

myMap.set(370, true);


const myArr = [10, 407];


console.log('myArr:', myArr);

console.log('myMap (before):');

for (let item of myMap) {

  console.log(item);

}


task09(myMap, myArr);


console.log('myMap (after):');

for (let item of myMap) {

  console.log(item);

}

解決方案2(原圖不做修改):

function task09(pre_map, arr) {

  const post_map = new Map(pre_map);


  function isArmstrong(num) {

    if (num < 0) return false;


    const numToStr = num.toString();

    let sum = 0;


    for (let i = 0; i < numToStr.length; i++) {

      sum += Math.pow(parseInt(numToStr[i]), 3);

    }


    return num === sum;

  }


  arr.forEach(item => {

    if (post_map.has(item)) {

      post_map.delete(item);

    } else {

      post_map.set(item, isArmstrong(item));

    }

  });


  return post_map;

}



/********

 * test *

 ********/


const myMap = new Map();

myMap.set(0, true);

myMap.set(1, true);

myMap.set(10, false);

myMap.set(19, false);

myMap.set(370, true);


const myArr = [10, 407];


const myUpdatedMap = task09(myMap, myArr);


console.log('myArr:', myArr);

console.log('myMap:');

for (let item of myMap) {

  console.log(item);

}

console.log('myUpdatedMap:');

for (let item of myUpdatedMap) {

  console.log(item);

}


查看完整回答
反對 回復(fù) 2023-08-18
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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