如果else语句变成变量

时间:2017-05-25 15:16:14

标签: javascript if-statement pure-js

我正在尝试将带有for条件的if语句插入到变量中。我真的不知道如何处理它。

这是我原来的功能:

var fontsList = '<div class="list">' + Object.keys(families).map(function(familyName) {
    chaine = families[familyName].map(function(variants) {
        return '<div class="all-sub-fonts" style="font-family:'+ variants.postscriptName +';" onclick=\'fontUsed("' + variants.postscriptName + '", this)\'><div class="variants-font">' + familyName + ' ' + variants.style + '</div></div>'
    })
    return '<div class="font-box-name" style="font-family:'+ familyName +';" onclick=\'fontUsed("' + familyName + '", this)\'>' + familyName + '</div><div class="btn-accordion"></div><div class="box-sub-fonts">'+ chaine.join('') +'</div>';
}).join('') + '</div>';

当字体系列中有多个变体时,我希望链返回。我尝试过的是直接使用else。这是代码:

var fontsList = '<div class="list">' + Object.keys(families).map(function(familyName) {
        if(families.length > 1){
        chaine = families[familyName].map(function(variants) {
            return '<div class="all-sub-fonts" style="font-family:'+ variants.postscriptName +';" onclick=\'fontUsed("' + variants.postscriptName + '", this)\'><div class="variants-font">' + familyName + ' ' + variants.style + '</div></div>'
        })
        return '<div class="font-box-name" style="font-family:'+ familyName +';" onclick=\'fontUsed("' + familyName + '", this)\'>' + familyName + '</div><div class="btn-accordion"></div><div class="box-sub-fonts">'+ chaine.join('') +'</div>';
    } else {
        return '<div class="font-box-name" style="font-family:'+ familyName +';" onclick=\'fontUsed("' + familyName + '", this)\'>' + familyName + '</div>';
    } 
}).join('') + '</div>';

此代码只能访问具有1个变体的字体系列。

for(var k in families) if(families[k].length === 1)

0 个答案:

没有答案