javascript - 无限循环串联问题

标签 javascript jquery loops

我想将 12AM 到 11PM 插入到选择标签中,但在我的循环中缺少 2 个内容,即 12AM 和 12PM。

            for (i = 1; i < 12; i++) {
                var am = '<option>' + i + ':00 AM</option>';
                $('#time').append(am);
            }

            for (i = 1; i < 12; i++) {
                var pm = '<option>' + i + ':00 PM</option>';
                $('#time').append(pm);
            }

http://jsfiddle.net/mzswo9xt/

最佳答案

function convert24HourTo12Hour(h) {
   return (h + 11) % 12 + 1;
}

for (i = 0; i < 24; i++) {
   $('#time').append(
      '<option>' + convert24HourTo12Hour(i) + ':00 ' + (i < 12 ? 'A' : 'P') + 'M</option>'
   );
}

(i + 11) % 12 + 1 部分将 0 转换为 12,将 13-23 转换为 1-11。

下一组括号是“条件表达式”,根据 i 的值选择 AP

关于javascript - 无限循环串联问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28845618/

相关文章:

javascript - 不使用组件时如何管理与 browserify 的依赖关系?

javascript - ExtJs Grid 中动态更改属性字段

c++ - 如何处理永远不会执行的代码

ruby-on-rails - Ruby 中 For 和 Map 的区别

c - 存储许多 for 循环的结果

javascript - Ajax 排序服务器端,iSortCol_0 是否考虑隐藏列?

javascript - 对 HTML 表格进行排序

javascript - 如果不必要的话,使用 parseInt 是否多余?

javascript - 使用 node_modules/中的 ES6 文件运行 Mocha 时出错

javascript - 样式化提交按钮——Rails 应用程序