javascript 为什么在使用Node解决问题时显示undefined?Js在HackerRank?[副本]

vtwuwzda  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(133)

此问题已在此处有答案

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作为输出。我也试过其他的问题,它给出了同样的结果。

***问题链接:***https://www.hackerrank.com/challenges/one-week-preparation-kit-grid-challenge/problem?isFullScreen=true&h_l=interview&playlist_slugs%5B%5D=preparation-kits&playlist_slugs%5B%5D=one-week-preparation-kit&playlist_slugs%5B%5D=one-week-day-four

rsaldnfx

rsaldnfx1#

HackerRank不适用于控制台输出。严格来说是的但方式和你想的不一样HackerRank将有它执行的代码。该代码将调用gridChallenge函数。接下来,它将打印函数的结果。这就是HackerRank接受的“解决方案”。”
在JavaScript中,像任何其他编程语言一样,您有一个return关键字来将值从函数传递给函数的调用者。您犯了一个常见的错误,即打印解决方案而不是返回解决方案的值。
这似乎是误导性的,因为问题清楚地指出必须在不同的行上打印YESNO。..这一定是他们犯了一个错误,因为在代码编辑器中,它提供了一个文档注解,清楚地说明了相反的情况:

/*
 * Complete the 'gridChallenge' function below.
 *
 * The function is expected to return a STRING.
 * The function accepts STRING_ARRAY grid as parameter.
 */

function gridChallenge(grid) {
    // Write your code here

}

相关问题