Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组按大写_Javascript - Fatal编程技术网

Javascript 将数组按大写

Javascript 将数组按大写,javascript,Javascript,我想将最后一个被推送的数组大写。上述代码不起作用。push返回更新数组的长度。您不能在其上调用myUcase。push返回更新数组的长度。您不能在上面调用myUcase。此行: Array.prototype.myUcase=function() { for (i=0;i<this.length;i++) { this[i]=this[i].toUpperCase(); } } var fruits=["banana","sermnb","kiwi

我想将最后一个被推送的数组大写。上述代码不起作用。

push返回更新数组的长度。您不能在其上调用myUcase。

push返回更新数组的长度。您不能在上面调用myUcase。

此行:

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;
}
…对数组调用push,然后尝试对push的返回值调用myUcase。但是push的返回值是数组的新长度,而不是数组的引用

不清楚您想做什么,但您可以在按下字符串之前使其大写:

fruits.push("hakki").myUcase();
…或者在完成推送后给myUcase打电话:

fruits.push("hakki".toUpperCase()); // I assume the string is actually in a variable.
旁注:看起来你并没有在myUcase函数的任何地方声明i。这意味着你正沦为牺牲品。声明:

fruits.myUcase();
x.innerHTML=fruits;
这一行:

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;
}
…对数组调用push,然后尝试对push的返回值调用myUcase。但是push的返回值是数组的新长度,而不是数组的引用

不清楚您想做什么,但您可以在按下字符串之前使其大写:

fruits.push("hakki").myUcase();
…或者在完成推送后给myUcase打电话:

fruits.push("hakki".toUpperCase()); // I assume the string is actually in a variable.
旁注:看起来你并没有在myUcase函数的任何地方声明i。这意味着你正沦为牺牲品。声明:

fruits.myUcase();
x.innerHTML=fruits;

as push返回添加项后数组的长度

顺便说一句,除非您知道自己在做什么,否则开始修改本机对象的原型可能不是一个好主意。可以通过其他方式实现相同的结果:

fruits.push("hakki");
fruits.myUcase();

as push返回添加项后数组的长度

顺便说一句,除非您知道自己在做什么,否则开始修改本机对象的原型可能不是一个好主意。可以通过其他方式实现相同的结果:

fruits.push("hakki");
fruits.myUcase();

如果您需要UCase中的最后一个条目,则:

fruits = fruits.map(function(str){
    return str.toUpperCase();
    });

如果您需要UCase中的最后一个条目,则:

fruits = fruits.map(function(str){
    return str.toUpperCase();
    });

这里有一个与您当前方法一致的替代方案

<script>
    Array.prototype.myUcase=function()
    {
    //for (i=0;i<this.length;i++)
   // {
    //this[i]=this[i].toUpperCase();
   // }
this[this.length-1]=this[this.length-1].toUpperCase();
    }

    var fruits=["banana","sermnb","kiwi"];

    function myFunction()
    {
    fruits.push("hakki");
    fruits.myUcase();
    var x=document.getElementById("demo");
    x.innerHTML=fruits;
    }
   </script>
你的祈祷是

Array.prototype.pushUpperCase = function(s) {
    this.push(s.toUpperCase());
};

您是否想要、需要或应该向容器中添加字符串操纵器是另一个问题。

这里有一个与您当前方法一致的替代方法

<script>
    Array.prototype.myUcase=function()
    {
    //for (i=0;i<this.length;i++)
   // {
    //this[i]=this[i].toUpperCase();
   // }
this[this.length-1]=this[this.length-1].toUpperCase();
    }

    var fruits=["banana","sermnb","kiwi"];

    function myFunction()
    {
    fruits.push("hakki");
    fruits.myUcase();
    var x=document.getElementById("demo");
    x.innerHTML=fruits;
    }
   </script>
你的祈祷是

Array.prototype.pushUpperCase = function(s) {
    this.push(s.toUpperCase());
};

您是否想要、需要或应该将字符串操纵器添加到容器中是另一个问题。

要将最后一个推送的数组大写。数组,还是数组项?您发布了示例输入,但没有示例输出。在代码正确运行后,数组应该如何处理?这就是全部代码吗?因为没有定义i。@user2422324 for将i初始化为全局变量。对于var i=0;,您是正确的@Juhana:对于变量i=。。。在当前JavaScript中有误导性。要将推送的最后一个数组大写。数组,还是数组项?您发布了示例输入,但没有示例输出。在代码正确运行后,数组应该如何处理?这就是全部代码吗?因为没有定义i。@user2422324 for将i初始化为全局变量。对于var i=0;,您是正确的@Juhana:对于变量i=。。。在当前的JavaScript中是误导性的。在数组中有很多不必要的循环。@T.J.Crowder我将目标解释为数组中的每个项目都大写。也许我错了。对,但是OP的myUCase函数在每次调用它时都会遍历整个数组。因此,在循环中调用它来推动项目是一种过分的做法;不起作用,原因有两个:1。String函数没有toUpperCase函数,2。如果你指的是String.prototype.toUpperCase,那么它应该是在这个基础上运行的,而不是在一个参数上。啊,我在Firefox的控制台中检查了它,它运行得很好,但我不记得这是非标准的。更新了答案。数组中有很多不必要的循环。@T.J.Crowder我将目标解释为数组中的每个项目都大写。也许我错了。对,但是OP的myUCase函数每次调用它都会遍历整个数组。因此,在循环中调用它来推动项目是一种过分的做法;不起作用,原因有两个:1。String函数没有toUpperCase函数,2。如果你指的是String.prototype.toUpperCase,那么它应该是在这个基础上运行的,而不是在一个参数上。啊,我在Firefox的控制台中检查了它,它运行得很好,但我不记得这是非标准的。我已经更新了答案。