javascript - 如果存在另一个变量,则仅在 if 语句中包含一个变量?

标签 javascript

以下函数旨在检查自定义日期小部件 (javascript) 是否为空。问题是,这个小部件有很多变体,其中 M/D/Y 字段显示,或者可能是 M/D 或 M/Y。

当然,我可以像检查一样对所有组合进行硬编码,但是有没有更好的方式来表示“有 3 个可能的节点,可能有值......如果 3 个节点中的 x 存在并且它们都具有值,将空设置为 false。”

checkIfEmpty: function () {
    var empty = true;

    var mNode = this.getNode('month');
    var month = mNode ? mNode.value : null;

    var dNode = this.getNode('day');
    var day = dNode ? dNode.value : null;

    var yNode = this.getNode('year');
    var year = yNode ? yNode.value : null;

    if (month && day && year) {
        empty = false;
    }

    return empty;
}

最佳答案

checkIfEmpty: function () {
    var empty = true;
    var dateParts = [];
    var mNode = this.getNode('month');
    if(mNode && mNode.value){
        dateParts.push('month');
    }

    var dNode = this.getNode('day');
    if(dNode && dNode.value){
        dateParts.push('day');
    }


    var yNode = this.getNode('year');
    if(yNode && yNode.value){
        dateParts.push('year');
    }

    if (dateParts.length) {
        empty = false;
    }

    return empty;
}

关于javascript - 如果存在另一个变量,则仅在 if 语句中包含一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32723778/

相关文章:

javascript - 在复选框上启用或禁用 qtip

javascript - 为什么我不能为 Object.prototype.click 分配一个函数?

javascript - 我可以创建一个 promise 来检查变量是否以 Angular 设置?

javascript - 使用JS或Jquery读取css比例值

javascript - 调用 navigator.clipboard.readText() 时出现 DOMException

javascript - 如何在保持最小值的同时缩放一组值?

javascript - 在 casper.evaluate() 中使用 casper 函数

javascript - 如何正确使用 forEach 或拼接

javascript - 如何在打字时以正确的大小渲染文本区域并自动扩展?

javascript - 处理循环依赖