Javascript 黑客在.count上的排名测试错误
我正在做一个hackerrank测试,这是一个简单的谜题,表明8=2和0,4,6,9=1,所有其他数字都等于0。所以我用javascript编写了这个函数,它在ie的记事本外工作,但是当我把它放到hackerrank控制台时,我得到了一个指向.count的错误。有人知道为什么会这样吗?我是javascript新手,所以这可能是一个简单的问题,我就是搞不懂。任何帮助都会很好。谢谢Javascript 黑客在.count上的排名测试错误,javascript,count,Javascript,Count,我正在做一个hackerrank测试,这是一个简单的谜题,表明8=2和0,4,6,9=1,所有其他数字都等于0。所以我用javascript编写了这个函数,它在ie的记事本外工作,但是当我把它放到hackerrank控制台时,我得到了一个指向.count的错误。有人知道为什么会这样吗?我是javascript新手,所以这可能是一个简单的问题,我就是搞不懂。任何帮助都会很好。谢谢 var str = prompt("Number: "); String.prototype.count = func
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));
};
人们通常不赞成对字符串或数组等内置对象进行原型化。只定义一个独立的函数来做完全相同的事情会容易得多,而且您不必担心没有定义计数。问题可能是黑客等级不允许您修改字符串对象?不过我不确定。尝试使用类似以下内容:
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));
谢谢我没想到用开关。我不确定错误是什么,除了控制台错误查找器突出显示了count的用法之外,我认为这不是一个问题。我来试试。嗯,我没有考虑这方面。我知道我过去在他们的系统中遇到过问题,主要是因为我对编码比较新。谢谢你的建议。我以后会记住的。