我有这样的代码:
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
答案 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
并检查实际索引。如果获得相同的索引,则显示元素,否则使用默认值。
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;
答案 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;
}));