首页 > 代码库 > js中的数组中的数组相加

js中的数组中的数组相加

在MVC中View中遇到了这个问题,就是js中数字相加的时候,老是加不到一起:


<span style="font-size:18px;">        function Table()
        {
            var z=0;
            for (var i = 0; i < 3;i++)
            {
                <span style="font-family:Calibri;">z</span><span style="font-family:SimSun;">.push(i);</span>//试了用</span><span style="font-size:18px;">z += i;
            }
            alert(z);
        }
</span>

上面两种方法都不是正确的,正确的应该是这样的:


<span style="font-size:18px;">        function Table()
        {
            var z=0;
            for (var i = 0; i < 3;i++)
            {
                z = z + i;
            }
            alert(z);
        }
</span>

后来查了查就是push和+=其实都是字符串中进行连接的,不是用来给数字相加的。


push对象:


Array对象


push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。


push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。


push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。


举个例子:


<span style="font-size:18px;"><script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.push("James") + "<br />")
document.write(arr)

</script></span>

输出:


George,John,Thomas
4
George,John,Thomas,James


push和+=都是连接字符串的,但是也是有区别的:


push是就算是字符串,用的也是字符串数组。+=只能用于字符串的直接追加。


这样我们看一个例子就可以区分出来它们了:


var a=[0];a.push(11);a += "11";

这样我们得到的结果是:


a=[0,11]

a=[011]


这样是不是就有区别了。




js中的数组中的数组相加