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

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

在javascript中使用map替換具有不同名稱的ID字符串的最佳方法

在javascript中使用map替換具有不同名稱的ID字符串的最佳方法

精慕HU 2023-04-27 10:43:42
我設(shè)置了 10 個(gè)“標(biāo)簽”,每個(gè)都有一個(gè) ID(格式:00:00:00:xx:xx:xx)和 translatedID(格式:TXT)。我得到字符串列表違反標(biāo)簽,我想將其從 translatedID 轉(zhuǎn)換為 ID。我有一個(gè)定義值的映射:Map(10) {  '00:00:00:02:28:47' => 'T7T',  '00:00:00:02:89:70' => 'T3T',  '00:00:00:02:89:51' => 'T4T',  '00:00:00:02:27:bd' => 'T5T',  '00:00:00:02:89:31' => 'T6T',  '00:00:00:02:89:a0' => 'T1T',  '00:00:00:02:89:af' => 'T2T',  '00:00:00:02:89:4d' => 'T9T',  '00:00:00:02:89:28' => 'T10T',  '00:00:00:02:89:a1' => 'T8T'}例子:input = 'T4T____T5T____T2T____T10T____T6T____'(desired) output = '00:00:00:02:89:51, 00:00:00:02:27:bd, 00:00:00:02:89:af, 00:00:00:02:89:28, 00:00:00:02:89:31'我的第一個(gè)想法是遍歷映射中的每個(gè)值,查看它是否存在于輸入中,如果存在,則將相應(yīng)的 ID 添加到輸出中。但由于不必要的額外循環(huán),這不是最優(yōu)的。有什么建議么?此外,我的代碼使用全局變量來定義地圖變量。我知道這是不受歡迎的,我有更好的方法嗎?我的代碼格式如下:let dict = new Map()function customQueryString() {    return new Promise((resolve, reject) => {        client.query(query, (err, res) => {          res.rows.forEach(psqltag => {            dict.set(psqltag.m_violator_tag, psqltag.m_translatedid)        });              resolve(queryStringAddition)  // defined elsewhere doesnt matter for this problem        })      })}function loopingQueryFunction(loopQuery) {    client.query(loopQuery, (err, res) => {        res.rows.forEach(tag => {           input = tag.violating_tags    // where the input string is found           output = ???                  // where the translation needs to happen       }    }}async function asyncCall() {    let qStringAddition = await customQueryString();    loopQuery = loopQuery +  qStringAddition    for (let i = 0; i< 100; i++) {        console.log("loop " + i)        await delay(1000)                loopingQueryFunction(loopQuery)    }}
查看完整描述

1 回答

?
慕沐林林

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

您可以使用正則表達(dá)式來獲取所有已翻譯的 ID。讓我們假設(shè)它們都是T<number>T格式的,這看起來是真的。


const input = 'T4T____T5T____T2T____T10T____T6T____';

const dictEntries = [...dict.entries()].map(([id, translatedId]) => ({id, translatedId}));


const output = input

    .match(/T\d+T/g)

    .map(translatedId => dictEntries.find(entry => entry.translatedId === translatedId))

    .filter(entry => entry !== undefined)

    .map(entry => entry.id);


// ["00:00:00:02:89:51", "00:00:00:02:27:bd", "00:00:00:02:89:af", "00:00:00:02:89:28", "00:00:00:02:89:31"]

output.join(', ')如果你想要它作為逗號(hào)分隔的字符串,你可以得到。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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