for and while

来源:互联网 发布:linux同名文件夹合并 编辑:程序博客网 时间:2024/06/10 23:13

for和while都是循环,至于怎么实现的,不了解;性能如何,且看下文;
以数组去重为例子;先生产一个有100000000数字1数组;

function create() {    var arr = [];    for (var i = 0; i < 100000000; i++) {        arr[i] = 1;    }    return arr;}

for数组去重,因为性能根本不够,这里不考虑for (var k in arr);

function delrepeat1() {    var arr = create();    if (arr instanceof Array === false) {        return false    } else {        var json = {},            len = arr.length,            result = [];        for (; len>0; len--) {            if (!json[arr[len]]) {                json[arr[len]] = 1;                result.push(arr[len])            }        }        return result    }}

while去重:

function delrepeat2() {    var arr = create();    if (arr instanceof Array === false) {        return false    } else {        var json = {},            len = arr.length,            result = [];        while (len--) {            if (!json[arr[len]]) {                json[arr[len]] = 1;                result.push(arr[len])            }        }        return result    }}

统计时间

function time(f) {    console.time("a");    f();    console.timeEnd("a");}

这里分别执行5次:

time(deleRepeat1);

结果如下:
这里写图片描述
看结果没有区别,不过这个结果肯定是不准的;所以今天没有结论,日后在写;

原创粉丝点击