我正在开发一个网站设计,我一度陷入困境。我想仅使用JS打印0
和1
值。模式应该像
010110100101
每4次迭代,它就会改变它的起始位置。喜欢
0101
- 1010
- 0101
- &继续...
帮助将不胜感激!
我的尝试:
var max_num = 32; // Max number - it can vary
for (var x = 0; x < max_num; x++ ) {
if( x % 2 == 0){
document.write('0');
} else {
document.write('1');
}
}
答案 0 :(得分:0)
更正您的代码:
在你的循环中,条件x % 2 == 0
应该每4次迭代改变它的值。你可以这样做:
x % 2 === Math.floor(x / 4) % 2
Math.floor(x / 4) % 2
将每4次迭代更改其值,因此我们使用它来改变条件。
示范:
x | x % 2 | Math.floor(x / 4) % 2 | condition | value to print
-----------------------------------------------------------------
0 | 0 | 0 | true | 0
1 | 1 | 0 | false | 1
2 | 0 | 0 | true | 0
3 | 1 | 0 | false | 1
4 | 0 | 1 | false | 1
5 | 1 | 1 | true | 0
6 | 0 | 1 | false | 1
7 | 1 | 1 | true | 0
8 | 0 | 0 | true | 0
9 | 1 | 0 | false | 1
示例:
function pattern(length) {
var str = "";
for (var x = 0; x < length; x++ ) {
if( x % 2 === Math.floor(x / 4) % 2 ){
str += "0";
} else {
str += "1";
}
}
return str;
}
console.log(pattern(10));
console.log(pattern(3));
&#13;
另一种方法:
您可以使用数组并使用"01011010"
(基本重复字符串,句点)填充它,然后将其连接起来,然后根据需要从字符串中剪切出来:
function pattern(length) {
return new Array(Math.ceil(length / 8)) // create the array that will hold the 8-chars strings (length / 8 using ceil for excess)
.fill("01011010") // fill it with the 8-chars
.join("") // join them
.slice(0, length); // then cut out just what you need
}
console.log(pattern(10));
console.log(pattern(3));
&#13;
答案 1 :(得分:0)
试试这个。
git rm --cached path/to/folder
答案 2 :(得分:0)
你可以尝试这个, 我已经在我的结尾测试了它:
var startPos=0;
var array=[];
var to=false;
for(var i=0;i<16;i++){
if(startPos/4 ==1 || startPos/4 ==2 || startPos/4 ==3 || startPos/4 ==4){
to=true;
}
else{
to=false;
}
if(to){
if(array){
if(array[i-1]==1){
array.push(1);
to=false;
}
else{
array.push(0);
}
}
}
else{
if(array){
if(array[i-1]==0){
array.push(1);
}
else{
array.push(0);
}
}
}
console.log(startPos,array);
startPos++;
}