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

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

使用 JS 從對象或地圖中立即找到較小的價值

使用 JS 從對象或地圖中立即找到較小的價值

www說 2021-10-21 11:06:16
object -> let error = {3:1, 4:1, 10:2, 12:1, 13:2} or {3:1, 4:1, 12:1, 13:2}map ->  let map = new Map([[3,1],[4,1],[10,2],[12,1],[13,2]]}如果我的數(shù)字是 10 意味著我需要得到 4 的值,即立即更少,如果沒有更少的值,那么我需要返回最大值。現(xiàn)在,我將減少該值并檢查地圖中是否存在并返回該值。目前,我正在使用一個對象。如果傳遞的數(shù)字存在或不存在,則需要立即查找較小的值。我的 obj 包含 1, 3, 7, 10 是我的鍵, 5 是傳遞的數(shù)字,我需要立即找到較小的值 3 < 5 。如果值通過 7 也 3<7。它不是基于索引。它基于密鑰。myFunction = (number) => {    let index;     for(int i = number; i>=number ; i--){      if(error[i] != undefined){          index = i;          break;      }    }return index;}有沒有更好的方法來做同樣的事情?
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經(jīng)驗 獲得超6個贊

您可以按降序?qū)χ颠M行排序,然后使用查找小于數(shù)字的第一個值,如果找到該值,則返回該值,否則返回最后一個值


let mapper = [[3,1],[4,1],[10,2],[12,1],[13,2]].sort((a,b)=>b[0]-a[0])


let myFunction = (number) => {

  let value = mapper.find((v, i) => {

    if (v[0] < number) {

      return v[1]

    }

  })

  return value  || mapper[0]

}


console.log(myFunction(10))

console.log(myFunction(9))

console.log(myFunction(2))


查看完整回答
反對 回復 2021-10-21
?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

您可以直接取數(shù)字并遞減該值,直到它達到零。


function fn(number) {

   while (number--) if (number in error) return number;

}


var error = { 3: 1, 4: 1, 10: 2, 12: 1, 13: 2 };


console.log(fn(9));

console.log(fn(10));


查看完整回答
反對 回復 2021-10-21
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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