以下函数旨在检查自定义日期小部件 (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/