javascript - Hackerrank 算法挑战问题 - 在hackerrank 环境(节点)中显示类型错误,但在浏览器控制台上工作正常。怎么了?
问题描述
function birthdayCakeCandles(n, ar) {
let max = 0;
for(let i = 0; i < ar.length; i++) {
if(ar[i] > max) {
max = ar[i];
}
}
let count = 0;
for(let i = 0; i < ar.length; i++) {
if(ar[i] === max) {
count++;
}
}
return count;
}
这可以在浏览器控制台上完美运行,但是当我在 Hackerrank 环境(节点)中运行它时,它会抛出这个错误:
运行时错误:
错误 (stderr) solution.js:30 for (let i = 0; i < ar.length; i++) {
TypeError:无法在生日蛋糕蜡烛时读取未定义的属性“长度”(solution.js:30:28)
有什么解释吗?
解决方案
该函数只接受一个参数,而不是两个。看看它是如何调用的:
https://www.hackerrank.com/challenges/birthday-cake-candles/problem
let result = birthdayCakeCandles(ar);
因此,如果您定义birthdayCakeCandles
接受第二个参数(或第一个参数之外的任何其他参数),它们将始终为undefined
.
不确定您的n
参数是什么,但您应该删除它:
function birthdayCakeCandles(ar) {
并且您的代码通过了所有测试用例。
阅读“功能说明”:
功能说明
在下面的编辑器中完成函数birthdayCakeCandles。它必须返回一个整数,表示她可以吹灭的蜡烛数量。
生日蛋糕蜡烛具有以下参数:
ar:代表蜡烛高度的整数数组
推荐阅读
- c# - 在 Azure 上打开注册页面时出现“502 - Web 服务器在充当网关或代理服务器时收到无效响应”错误
- amazon-web-services - 当用户尝试使用 AWS 注册和创建新账户/相册时,我们遇到了错误。请参阅下面的终端消息
- solidity - web3 - event.watch 以随机顺序吐出事件
- mysql - SQL:基于另外两列提取信息
- spring-integration - spring integration dsl配置幂等接收器识别重复
- python - keras中深度和广泛模型的问题
- java - 图形 2d 平移和旋转问题
- ruby - 将比较运算符作为参数传递给 Ruby 中的方法
- mongodb - 如何将 db mongo 复制到另一个 mongodb 实例?
- c++ - 三角带上的纹理坐标