ocko
ocko

Reputation: 95

Chessboard for beginner

I am trying to print Chessboard. Why is this not working? This code is working for console.log. I want to print it by document.write() Thanx


let size = 8
let result = ''

for(let i = 0 ; i < size ; i++) {
  for(let j = 0; j < size ; j++) {

    if(( i + j ) % 2  === 0) {
      result += ' '
    } else {
      result += '#'
    }
  }
  result += '<br>'
} 
document.write(result)

// my output is :
# # # #
# # # #
# # # #
# # # #


//it should like this : 
 # # # #
# # # # 
 # # # #
# # # # 


Upvotes: 0

Views: 79

Answers (1)

Cid
Cid

Reputation: 15247

To keep constistancy between well indented HTML code and rendered text, browsers trim lines, not showing leading and trailing whitespaces.

In example :

<div>
    Hello world
</div>

You can notice in the snippet, "Hello world" is indented within the <div></div>. When you click "Run code snippet", the rendered HTML is left aligned as if there was no indentation.

If you want to add "visible" spaces, you can use the non-breaking space character code, &nbsp

let size = 8
let result = ''

for(let i = 0 ; i < size ; i++) {
  for(let j = 0; j < size ; j++) {

    if(( i + j ) % 2  === 0) {
      result += '&nbsp;' // <--------------- Check this
    } else {
      result += '#'
    }
  }
  result += '<br>'
} 
document.write(result)

Upvotes: 2

Related Questions