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

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

從結(jié)果中自動創(chuàng)建變量名?

從結(jié)果中自動創(chuàng)建變量名?

郎朗坤 2023-03-10 15:47:03
我試圖弄清楚如何從無數(shù) if/else 語句中優(yōu)化我的代碼。我當(dāng)前的代碼是:jQuery.each(val, function (i, data) {            //Secret Rare    if(data.card_variations[0].card_rarity == 'Secret Rare'){                secretcount++;                   jQuery('.secret-cards').append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>');        }           //Ultra Rare    if(data.card_variations[0].card_rarity == 'Ultra Rare'){                ultracount++;                   jQuery('.ultra-cards').append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>');        }                    //Super Rare    if(data.card_variations[0].card_rarity == 'Super Rare'){                supercount++;                    jQuery('.super-cards').append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>');        }        //Rare    if(data.card_variations[0].card_rarity == 'Rare'){                rarecount++;                 jQuery('.rare-cards').append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>');        }           //ShortPrint    if(data.card_variations[0].card_rarity == 'Short Print'){                shortprintcount++;                  jQuery('.shortprint-cards').append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>');        }                  如您所見,這是一堆 if/else 語句,用于檢查特定稀有度并根據(jù)當(dāng)前稀有度附加到 div。有超過 25 種不同的稀有度,所以我想我不能繼續(xù)這樣下去,我還需要通過代碼手動適應(yīng)每一種稀有度。我還對每個進(jìn)行計(jì)數(shù)以輸出它們的數(shù)量。是否有為計(jì)數(shù)器分配變量并根據(jù)結(jié)果動態(tài)創(chuàng)建 div 類名的最佳方法?編輯:也許最佳方法是創(chuàng)建一個包含所有稀有性的數(shù)組。由于這仍然需要手動更新,也許我可以通過 PHP 查詢數(shù)據(jù)庫以獲取所有稀有度,然后填充此數(shù)組...
查看完整描述

3 回答

?
慕勒3428872

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

由于在瀏覽器中var x = 1等于var window.x = 1,您可以使用全局對象創(chuàng)建動態(tài)變量名。


var rarityName = data.card_variations[0].card_rarity;

window[rarityName] = window[rarityName] ? window[rarityName] + 1 : 1;

但最好只創(chuàng)建一個作用域?qū)ο螅鼤槟愦鎯τ?jì)數(shù)。


var counts = {}; // declare once in global scope somewhere first

//

var rarityName = data.card_variations[0].card_rarity;

counts[rarityName] = counts[rarityName] ? counts[rarityName] + 1 : 1;

所以它會是這樣的:


var counts = {};

jQuery.each(val, function (i, data) {    

    var rarityName = data.card_variations[0].card_rarity;

    counts[rarityName] = counts[rarityName] ? counts[rarityName] + 1 : 1;

    var friendlyClassName = "." + rarityName.toLowerCase().split(" ").join("-");

    jQuery(friendlyClassName).append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>');  

}); 


查看完整回答
反對 回復(fù) 2023-03-10
?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個贊

您可以使用字典來跟蹤計(jì)數(shù)并使用稀有度作為鍵。如果你改變你的類來匹配稀有性,你也可以減少很多代碼重復(fù)。


counts = {

  "Secret Rare": 0,

  "Ultra Rare": 0,

  "Super Rare": 0,

  "Rare": 0,

  "Short Print": 0,

  "Common": 0  

}

jQuery.each(val, function (i, data) {  

  let rarity = data.card_variations[0].card_rarity;

  let className = rarity.toLowerCase().replace(" ", "-");

  counts[rarity] += 1;

  jQuery(className).append('<figure><img src="'+data.card_img+'" title="'+data.card_name+'" alt="'+data.card_name+'"><figcaption>'+data.card_variations[0].card_code+'<figcaption></figure>'); 

});


查看完整回答
反對 回復(fù) 2023-03-10
?
達(dá)令說

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

你能建立一個地圖對象嗎?鍵是 card_rarity 名稱,值是 {element, count}。map.has(key) 將檢查它是否已經(jīng)存在 - 如果存在,獲取 {element, count} 值,提取元素名稱,更新計(jì)數(shù)值,然后使用 map.set(key, {element, count} ) 更新地圖。如果密鑰不存在,請創(chuàng)建一個新密鑰。

您仍然需要手動創(chuàng)建要將數(shù)據(jù)附加到的元素 - 盡管如果它是新密鑰,您也許也可以自動創(chuàng)建這些元素?


查看完整回答
反對 回復(fù) 2023-03-10
  • 3 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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