此问题已在此处有答案:
What is the difference between return and console.log() [duplicate](4个答案)
8小时前关闭
function gridChallenge(grid) {
let sortedRows = [];
for(let i = 0; i < grid.length; i++){
let sortedRow = grid[i].split('').sort().join('')
sortedRows.push(sortedRow)
}
let columns = []
let sortedColumns = columns.sort()
for(let z = 0; z < sortedRows.length; z++){
let column = sortedRows[z].split('')[0]
columns.push(column)
}
if(columns === sortedColumns){
console.log("YES")
} else {
console.log("NO")
}
}
代码在IDE中完全正常工作,并显示预期的输出,但当我试图在HackerRank中运行相同的代码时,它显示代码将undefined作为输出。我也试过其他的问题,它给出了同样的结果。
1条答案
按热度按时间rsaldnfx1#
HackerRank不适用于控制台输出。严格来说是的但方式和你想的不一样HackerRank将有它执行的代码。该代码将调用
gridChallenge
函数。接下来,它将打印函数的结果。这就是HackerRank接受的“解决方案”。”在JavaScript中,像任何其他编程语言一样,您有一个
return
关键字来将值从函数传递给函数的调用者。您犯了一个常见的错误,即打印解决方案而不是返回解决方案的值。这似乎是误导性的,因为问题清楚地指出必须在不同的行上打印
YES
或NO
。..这一定是他们犯了一个错误,因为在代码编辑器中,它提供了一个文档注解,清楚地说明了相反的情况: