Array.prototype.myUcase=function()
{
for (i=0;i<this.length;i++)
{
this[i]=this[i].toUpperCase();
}
}
var fruits=["banana","sermnb","kiwi"];
function myFunction()
{
fruits.push("hakki").myUcase();
var x=document.getElementById("demo");
x.innerHTML=fruits;
}
我想大写最后一个被压入的数组。上面的代码不起作用。
最佳答案
这一行:
fruits.push("hakki").myUcase();
...在数组上调用push
,然后尝试在push
的返回值上调用myUcase
。但是push
的返回值是一个数字(数组的新长度),而不是对数组的引用。
不清楚您要做什么,但您可以在推送之前将字符串设为大写:
fruits.push("hakki".toUpperCase()); // I assume the string is actually in a variable.
...或者稍后调用 myUcase
,当你完成推送时:
fruits.myUcase();
x.innerHTML=fruits;
旁注:您似乎没有在myUcase
函数中的任何位置声明i
。这意味着你正在成为 The Horror of Implicit Globals 的猎物.声明它:
Array.prototype.myUcase = function() {
var i; // <=== Declaration
// ...
关于javascript - 将数组插入大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16998589/