`

三种javascript数组搜索的效率对比

 
阅读更多
http://my.oschina.net/ZaneYoung/blog/389873
结论:内置方法是最快的.
//构造一个数组
var arr=[];
for(var i=0;i<=1000000;i++){
    arr.push('abcdefghigk'+i);
}
var v='abcdefghigk1000000';//需要比较的值就是最后一个
console.log('for in ');//for in方式查询
console.time('arr');
var find =false;
for(var i in arr){
    if(arr[i]===v){
        find=true;
        break;
    }
}
console.log(find);
console.timeEnd('arr');
console.log('for i++');//for i++方式查询
console.time('arr');
var find =false;
for(var i=0,len=arr.length;i<len;i++){
    if(arr[i]===v){
        find=true;
        break;
    }
}
console.log(find);
console.timeEnd('arr');
console.log('string');//join方式查询
console.time('arr');
console.log((','+arr.join(',')+',').indexOf(','+v+','));
console.timeEnd('arr');


测试结果:
for in
VM236:17 true
VM236:18 arr: 1153.680ms
VM236:19 for i++
VM236:28 true
VM236:29 arr: 1246.048ms
VM236:30 string
VM236:32 17888890
VM236:33 arr: 149.924ms
分享到:
评论

相关推荐

    Javascript数组函数大全

    ### JavaScript 数组函数详解 #### 1. `shift` 方法 `shift` 方法用于移除数组的第一个元素,并返回被移除的元素。如果数组为空,则返回 `undefined`。 ```javascript let a = [1, 2, 3, 4, 5]; let b = a.shift();...

    javascript 三种数组复制方法的性能对比

    接下来,我们将详细探讨这三种方法的性能对比,以及在不同浏览器环境下选择使用哪一种方法更为合适。 首先,我们来看一下这三种方法是如何操作的: 1. 使用slice方法复制数组 slice方法可以接受一个或两个参数,...

    Javascript 更新 JavaScript 数组的 uniq 方法

    本文将深入探讨如何有效地更新JavaScript数组中的`uniq`方法,并通过具体的代码示例来分析不同实现方式的优缺点。 #### 二、问题背景 在JavaScript中,原生并没有提供直接去除数组重复项的方法。因此,开发者通常...

    javascript数组去重的六种方法汇总

    JavaScript数组去重是前端开发中的一个基础问题,涉及到数组操作以及性能考量。在面试中考察数组去重不仅是为了检验应聘者对基本数组操作的掌握,更是为了评估其对算法性能和效率的理解。以下是六种常用的方法: 1....

    javascript数组去重小结

    准备下面试,开始回顾复习JavaScript相关的知识,昨天下午想到了数组去重的相关方法,干脆整理出几篇JavaScript算法文章,以备后用,此系列文章不定篇数,不定时间,想到哪写到哪,不保证正确性,不保证高效率,只是...

    比较JavaScript中的集合及其检索效率

    在探讨JavaScript中的集合及其检索效率时,我们主要关注两种数据结构:数组(Array)和对象(Object)。这两种数据结构在JavaScript中被广泛使用,各有其优势和适用场景,尤其是在处理大量数据时,它们的检索效率...

    JS常用的几种数组遍历方式以及性能分析对比实例详解

    本文将介绍几种常用的数组遍历方式,并对它们的性能进行分析对比。这些遍历方法包括for循环、for...in循环、forEach循环、for...of循环、map方法等。 首先,for循环是JavaScript中最基础也是最常用的数组遍历方式。...

    数组数据删除

    在编程领域,数组是一种基础且重要的数据结构,用于存储同类型的数据集合。当我们处理数组时,经常需要根据需求对其中的元素进行操作,比如插入、查找和删除等。本篇文章将详细探讨“数组数据删除”这一主题,特别是...

    JavaScript产品参数对比功能

    JavaScript产品参数对比功能是网页应用中常见的一种设计,它允许用户在不同的产品之间进行详细的特性比较,以便于做出购买决策。这种功能广泛应用于电子商务、软件选型和其他需要展示多维度信息的场景。在本文中,...

    Javascript 各浏览器的 Javascript 效率对比

    ### JavaScript在各浏览器中的效率对比分析 随着互联网技术的发展,JavaScript作为前端开发的重要语言之一,在浏览器中的执行效率显得尤为重要。本文将围绕“JavaScript各浏览器的JavaScript效率对比”这一主题进行...

    JS两个数组比较,删除重复值的巧妙方法(推荐)

    在JavaScript编程中,数组操作是常见的任务之一,其中包括比较两个数组并删除重复的值。传统的做法通常是通过循环遍历其中一个数组,然后在另一个数组中检查每个元素是否存在,如果不存在则将其添加到结果数组中。...

    JavaScript从入门到精通(第4版)(示例源码+习题答案).7z

    2. **对象与数组**:JavaScript中的对象是一种键值对的集合,而数组则是一系列元素的有序列表。理解如何创建、访问和操作对象及数组是JavaScript学习的关键。这部分会涵盖对象字面量、构造函数、原型链、数组方法...

    JS合并数组的几种方法及优劣比较

    在JavaScript中,合并数组是常见的一种操作,本文将详细介绍在JS中合并数组的几种方法,并对这些方法的优缺点进行比较分析。通过学习这些基础技能,读者可以更好地理解如何高效地处理数组合并的场景。 ### 方法介绍...

    js数组去重的三种常用方法总结

    本文将详细介绍三种常见的JavaScript数组去重方法。 ### 第一种方法:遍历比较法 这种方法是最直观的,通过构建一个新的数组来存储去重后的元素。遍历原数组,每次取出一个元素,再与新数组中的所有元素进行对比。...

    【JavaScript源代码】利用JavaScript差集实现一个对比小工具.docx

    【JavaScript源代码】利用JavaScript差集实现一个对比小工具 在日常工作中,有时我们需要快速比较两组数据,找出其中的差异。在这个例子中,我们利用JavaScript实现了一个小工具,用于对比两个文本输入框中列出的...

    js 数组去重的四种实用方法

    本文将介绍四种实用的JavaScript数组去重方法,并分析它们的性能和适用场景。 1. **indexOf方法去重**: ```javascript Array.prototype.unique1 = function() { var n = []; for (var i = 0; i ; i++) { if ...

    JavaScript JavaScript

    JavaScript的数组是一种特殊的对象,可以存储任意类型的元素。此外,还有Map和Set,它们分别提供了键值对存储和唯一元素集合的功能,适用于更复杂的数据结构需求。 **第五章:事件与DOM操作** 事件是用户或浏览器...

Global site tag (gtag.js) - Google Analytics