Reputation: 95
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
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,  
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 += ' ' // <--------------- Check this
} else {
result += '#'
}
}
result += '<br>'
}
document.write(result)
Upvotes: 2