循环分钟在JavaScript中

时间:2016-10-16 09:39:04

标签: javascript loops

我有这样的代码:

var hour = 7;
for (var i = 0;i <= 1; i++ ){
  var minute = 0;
  console.log((i + hour) % 24);
}

当我运行它时,我得到这样的结果:

7
8

我的问题:如何以格式分钟0-59

格式添加值

所以我想像这样循环数据:

7:0
7:1
7:2
s.d
7:59
8:0

3 个答案:

答案 0 :(得分:0)

您可以使用新数组存储所有唯一值。你需要研究新的&#34; uniques&#34;数组,如果值alreay存在,然后使用默认值:

var number= ["1", "2", "3", "4", "5", "6", "6"];
var default = 0;
var uniques = [];
var result = [];
for(var i=0; i < number.length; i++) {
   if(!inArray(number[i], uniques) {
       uniques.push(number[i]);
       result.push(number[i]);
       console.log(number[i]);
   } else {
       console.log(default);
       result.push(default);
   }
}

function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

答案 1 :(得分:0)

您可以使用Array#indexOf并检查实际索引。如果获得相同的索引,则显示元素,否则使用默认值。

&#13;
&#13;
var number= ["1", "2", "3", "4", "5", "6", "6"];
for (var i = 0; i < number.length;i++) {
   console.log(number.indexOf(number[i]) === i ? number[i] : undefined);
}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用map获取新数组,并在回调存储中使用set中的每个项目来了解它是否重复。

var number = ["1", "2", "3", "4", "5", "6", "6"];
var s = new Set();
console.log(number.map(n => s.has(n) ? undefined : s.add(n) && n));

如果字符串化遵守您的值的不相等,则可以使用普通对象,而无需ES6功能:

var number = ["1", "2", "3", "4", "5", "6", "6"];
var s = Object.create(null);
console.log(number.map(function(n) {
  if (n in s) return undefined;
  s[n] = true;
  return n;
}));