JavaScript判断是否为数组的3种方法及效率比较

 今天针对不同的数组判定方式在chrome上做了一个效率的对比,结果如下:

其代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

var ret;
var o = [1,2,3];
var toStr = {}.toString;
var array = {};
array["[object Array]"] = "array";
 
console.log("各种判断是否数组的速度比较!")
 
console.log("方法一:Array.isArray(o)");
console.time("first");
for (var i=0;i<10000;i++){
ret = Array.isArray(o);
}
console.timeEnd("first");
console.log(ret);
 
console.log("方法二:o instanceof Array");
console.time("second");
for (var i=0;i<10000;i++){
ret = o instanceof Array;
}
console.timeEnd("second");
console.log(ret);
 
console.log("方法三:o.constructor == Array");
console.time("thirth");
for (var i=0;i<10000;i++){
ret = o.constructor == Array;
}
console.timeEnd("thirth");
console.log(ret);
 
console.log("方法四:array[toStr.call(o)] == 'array'");
console.time("forth");
for (var i=0;i<10000;i++){
ret = array[toStr.call(o)] == "array";
}
console.timeEnd("forth");
console.log(ret);

时间: 2024-09-09 05:57:45

JavaScript判断是否为数组的3种方法及效率比较的相关文章

JavaScript判断是否为数字的4种方法及效率比较_javascript技巧

今天针对不同的数值判定方式在chrome上做了一个效率的对比,结果如下: 注意:通过正则表达式仅能用于字符串中的内容是否是纯数值,而不能用于判断是否是数值对象.放在此处仅用于对比. 其代码如下: var ret; var o = 1; var pattern = /^(-?\d*.?\d*)$/; var toStr = {}.toString; var array = {}; array["[object Number]"] = "number"; console

JavaScript判断是否为数字的4种方法及效率比较

 注意:通过正则表达式仅能用于字符串中的内容是否是纯数值,而不能用于判断是否是数值对象.放在此处仅用于对比. 其代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 var ret; var o = 1; var pattern = /^(-?d*.?d*)$/; var toStr = {}.toString; va

PHP遍历数组的三种方法及效率对比分析

 这篇文章主要介绍了PHP遍历数组的三种方法及效率对比,实例分析了foreach.while与for三种遍历数组的方法与相关的效率比对,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例分析了PHP遍历数组的三种方法及效率对比.分享给大家供大家参考.具体分析如下: 今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出 第一.foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. ? 1 2 3 4 5 6

PHP遍历数组的三种方法及效率对比分析_php技巧

本文实例分析了PHP遍历数组的三种方法及效率对比.分享给大家供大家参考.具体分析如下: 今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出 第一.foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. <?php $urls= array('aaa','bbb','ccc','ddd'); foreach ($urls as $url){ echo "This Site url is $url! <b

C# 判断字符为空的6种方法的效率实测对比_C#教程

C#中提供了相当丰富的方法或属性来判断一个字符是否为空,常用的方法有以下6种 1. strTest== "" 2. strTest.Equals("") 3. strTest== string.Empty 4. strTest.Equals(string.Empty) 5. strTest.Length == 0 6. string.IsNullOrEmpty(strTest) 为了对以上6种方法的效率,有个直观的感受,我特意编写了以下的测试代码: using Sy

javascript判断机器是否联网的2种方法_javascript技巧

在很多场景下,只有机器已经联网以后,web应用才能启动.如果没有联网,就会提示错误.. 但是机器有时候要重启. 如果机器重启后,立刻启动web应用的话,可能,机器上的网络服务还没有准备好. 特别是windows7,启动网络服务需要好几秒,这个时候怎么办呢? 之前尝试过几种方法: 比如 通过ping来判断, 但是ping需要有一个非本机的ip地址. 这个不是很通用 比如监控某个端口是否已经被占用,但是光端口占用,也不能说明网络已经启动了. 另一个方面,如果是web应用的话,最好是在前端判断,比如用

JavaScript中数组的22种方法必学(推荐)_javascript技巧

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

JavaScript定义数组的三种方法(new Array(),new Array(&#039;x&#039;,&#039;y&#039;)_javascript技巧

如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co

javascript 判断两个数组中是否存在相同元素

我们的实例是获取checkbox值然后判断用户给的字符串是否存在checkbox中,原理一样的. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net /1999/xhtml"