javascript - jQuery - 填充对象中缺失的星期几值

标签 javascript jquery arrays json

我想显示注册用户在注册期间填写的营业时间:

这是“”,它以这种方式存储在数据库中:

[
{"day":"Maandag","daylabel":"Maandag","fromtime":"15:30","fromtimelabel":"3:30 pm","totime":"22:00","totimelabel":"10:00 pm"},
{"day":"Dinsdag","daylabel":"Dinsdag","fromtime":"15:30","fromtimelabel":"3:30 pm","totime":"22:00","totimelabel":"10:00 pm"},
{"day":"Donderdag","daylabel":"Donderdag","fromtime":"15:30","fromtimelabel":"3:30 pm","totime":"22:00","totimelabel":"10:00 pm"},
{"day":"Vrijdag","daylabel":"Vrijdag","fromtime":"15:30","fromtimelabel":"3:30 pm","totime":"22:00","totimelabel":"10:00 pm"},
{"day":"Zaterdag","daylabel":"Zaterdag","fromtime":"09:30","fromtimelabel":"9:30 am","totime":"+00:00","totimelabel":"12:00 am (next day)"},
{"day":"Zondag","daylabel":"Zondag","fromtime":"09:30","fromtimelabel":"9:30 am","totime":"+00:00","totimelabel":"12:00 am (next day)"}
]

这是我解析的函数:

config.profile.core.parseAvailability = function(value){
  if(value){
    try {
        var availabilityDays = JSON.parse(value);
        $jq.each(availabilityDays, function(index, day) {
            $jq('#availability').append('<div class="col-sm-5">'+day['daylabel']+'</div><div class="col-sm-7">'+day['fromtime']+' - '+day['totime']+'</div>');
        });
    } catch (error) {
        console.error(error);
    }
  }
};

这就是它在页面上的显示方式:

enter image description here

问题:

正如您可能看到的,周三(在“dinsdag”和“donderdag”之间的荷兰语“woensdag”)缺失,因为它没有故意填写(可能会被关闭)在特定的一天)。因为那天没有存储,所以我无法显示它。

如何用空值显示缺失的日期?

最佳答案

不要循环遍历您获得的数据,而是循环遍历您想要的数据,然后显示与之匹配的数据

var days = ['Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag', 'Zondag'];
var availabilityDays = JSON.parse(value);

for (var day of days) {
    var details = availabilityDays.find(function (detail) {
        return detail.day == day;
    });

    var detailsText = '';

    if (details) {
        detailsText = details['fromtime']+' - '+details['totime']
    }

    $jq('#availability').append('<div class="col-sm-5">'+day+'</div><div class="col-sm-7">' + detailsText + '</div>');
}

关于javascript - jQuery - 填充对象中缺失的星期几值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35797207/

相关文章:

java - Arrays.sort从较高的数字到较低的数字?

javascript - NodeJS - 本地范围已关闭( fatal error )

javascript - 如何向中继器添加新行而不丢失复选框中的信息

javascript - jqgrid从rest服务中检索JSON数据但不显示它

javascript - 网站图片性能: local folder or external source?

c++ - 是否可以使用 operator new 和 initialiser 语法初始化非 POD 数组?

javascript - 尽管使用了 db.insert 函数,数据库并未更新

javascript - jQuery - 在带有内容的 div 上方切换幻灯片

javascript - 使用 http post 请求传递有关事件更改的参数

c++ - 打印对象数组