.count 上的 Hacker Rank 测试错误
Hacker Rank test errors on .count
我正在做一个 hackerrank 测试,这是一个简单的谜题,说明 8=2 和 0,4,6,9 = 1,所有其他数字都等于 0。所以我在 javascript,它在记事本之外的 ie 中工作,但是当我将它放入 hackerrank 控制台时,我得到一个指向 .count 的错误。有谁知道为什么会这样?我是 javascript 的新手,所以它可能很简单,我就是想不通。任何帮助都会很棒。谢谢
var str = prompt("Number: ");
String.prototype.count = function(match) {
var res = this.match(new RegExp(match,"g"));
if (res==null) { return 0; }
return res.length;}
document.write((str.count(8)*2)+ str.count(4) + str.count(6) + str.count(9) + str.count(0));
};
通常不赞成对 String 或 Array 等内置对象进行原型设计。只定义一个独立的函数来做完全相同的事情会容易得多,你不必担心 count 没有被定义。问题可能是 Hacker Rank 不允许您修改 String 对象?虽然不确定。尝试使用这样的东西:
function count(str, letter) {
// your code
}
不太清楚你的意思。也许需要切换:
function pickANumber(num){
switch(num){
case 8:
return 2;
case 0: case 4: case 6: case 9:
return 1;
default:
return 0;
}
}
console.log(pickANumber(8));
console.log(pickANumber(5));
console.log(pickANumber(9));
我正在做一个 hackerrank 测试,这是一个简单的谜题,说明 8=2 和 0,4,6,9 = 1,所有其他数字都等于 0。所以我在 javascript,它在记事本之外的 ie 中工作,但是当我将它放入 hackerrank 控制台时,我得到一个指向 .count 的错误。有谁知道为什么会这样?我是 javascript 的新手,所以它可能很简单,我就是想不通。任何帮助都会很棒。谢谢
var str = prompt("Number: ");
String.prototype.count = function(match) {
var res = this.match(new RegExp(match,"g"));
if (res==null) { return 0; }
return res.length;}
document.write((str.count(8)*2)+ str.count(4) + str.count(6) + str.count(9) + str.count(0));
};
通常不赞成对 String 或 Array 等内置对象进行原型设计。只定义一个独立的函数来做完全相同的事情会容易得多,你不必担心 count 没有被定义。问题可能是 Hacker Rank 不允许您修改 String 对象?虽然不确定。尝试使用这样的东西:
function count(str, letter) {
// your code
}
不太清楚你的意思。也许需要切换:
function pickANumber(num){
switch(num){
case 8:
return 2;
case 0: case 4: case 6: case 9:
return 1;
default:
return 0;
}
}
console.log(pickANumber(8));
console.log(pickANumber(5));
console.log(pickANumber(9));