测试数组push和unshift方法的效率

先贴代码,之后再来补内容

<!DOCTYPE HTML>
<html>
    <head>
        <title>测试数组push和unshift方法的效率</title>
    </head>
    <body>
    </body>

    <script type="text/javascript">
            var startTime = 0;  /* 开始时间 */
            var endTime = 0;    /* 结束时间 */
            var arr = [];       /* 测试数组 */
            var n = 50000;     /* 插入次数 */
            var i = 0;            /* 循环基数 */

            calculate("unshift"); /* calculate方法测试 */
            calculate("push");    /* push方法测试 */

            function calculate(method){
                i=0;arr = [];
                while (i!=n){
                    if (i==0) {
                        startTime = new Date();      /* 开始时间获取*/
                    }
                    arr[method](i);
                    i++;
                };
                endTime = new Date();             /* 结束时间获取 */
                console.log(method+" : "+(endTime.getTime()-startTime.getTime())+" 毫秒"); /* 时间差 */
            }

    </script>

</html>
时间: 2024-10-05 05:07:48

测试数组push和unshift方法的效率的相关文章

数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法

push用法 push 英 [p??] 美 [p??] vt. 推,推动; vt. 按; 推动,增加; 对-施加压力,逼迫; 说服; n. 推,决心; 大规模攻势; 矢志的追求 定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. 语法 arrayObject.push(newelement1,newelement2,....,newelementX) 返回值 把指定的值添加到数组后的新长度.( 使用  document.write(arrayObject.push(

Array的push与unshift方法性能比较分析

从原理就可以知道,unshift的效率是较低的.原因是,它每添加一个元素,都要把现有元素往下移一个位置.但到底效率差异有多大呢?下面来测试一下. 测试环境的主要硬件:CPU T7100(1.8G):内存4G DDR2 667:硬盘5400转.主要软件:操作系统为Windows 7:浏览器为Firefox 3.6.9.测试代码: var arr = [ ], s = +new Date; // push性能测试 for (var i = 0; i < 50000; i++) { arr.push(

js array filter pop push shift unshift方法

JavaScript Array filter() 方法  JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33, 16, 40]; function checkAdult(age) {    return age >= 18;} function myFunction() {    document.getElementById("demo").innerHTML = ages.filter(c

中缀表达式转后缀表达式(用于求字符串表达式值)(js栈和队列的实现是通过数组的push和unshift方法插值,pop方法取值)

中缀表达式:就是我通常用的算术或逻辑公式: 后缀表达式:不包含括号,运算符放在两个运算对象后面,所有的计算按运算符出现的顺序,严格从左向右进行,不用考虑运算符优先级: 如,(2+1)*3 转换后,2 1 + 3 * 1.人工实现转换 如中缀表达式:a+b*c-(d+e) (1).按照运算符优先级对所有运算单位加括号,式子变成:((a+(b*c))-(d+e)) (2).把运算符号移动到对应括号后面,变成:((a(bc)*)+(de)+)- (3).把括号去掉就变成后缀表达式了:abc*+de+-

从数组中删除元素:pop()&amp;unshift()方法

//pop() 和 shift() 方法都将删掉的元素作为方法的返回值返回 var a = [ 1, 2, 3 ]; alert(a.pop());//从数组末尾删除 alert(a); alert(a.shift());//从数组首端删除 alert(a); /* var a = [ 9, 1, 2 ]; for ( var i = 0; i < a.length; ++i) { a[i] = a[i + 1];//模拟unshift()方法 } alert(a); // 1,2,3,4,5,

javascript 数组,数组中加入新元素 push() ,unshift() 相当于Add()

<1> var   a   =   [];     //建立数组 push   方法 将新元素加入到一个数组中,并返回数组的新长度值.

关于push,pop,unshift,shift的返回值

如上图所示:第一种情况和第二种情况有什么区别呢?让我们一起来分析一下,第一种是直接给数组push,这样的话是直接执行这个方法,所以弹出数组的内容.而第二种相当于给arr赋值了一个arr.push,而push和unshift都是有返回值的,返回值就是数组的长度,所以给arr赋值了一个数组的长度6,弹出就是6.这里虽然没有例子说明,但pop和shift也有返回值,返回值就是删除的那一项.

javascript中数组的22种方法 (转载)

前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和valueOf()方法 [toString()] toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 [注意]该方法的返回值与不使用任何参数

JavaScript数组的属性和方法

Array 对象属性 FF: Firefox, IE: Internet Explorer 属性 描述 FF IE constructor 返回对创建此对象的数组函数的引用. 1 4                 length 设置或返回数组中元素的数目. 1 4 prototype 使您有能力向对象添加属性和方法. 1 4 Array 对象方法 FF: Firefox, IE: Internet Explorer 方法 描述 FF IE concat() 连接两个或更多的数组,并返回结果.