`

javascript中new Array()和var arr=[]用法区别

    博客分类:
  • js
 
阅读更多
大家在学习javascript中对于数组函数new Array()和var arr=[]很多朋友不知道如何区别,也不知道用法,下面看看我们总结的。

var arr=[]
这是一种字面量定义数组的方法

var arr=new Array()
这是调用数组构造函数生成的数组

上面的2种定义数组的方法到底一样不一样
目前我们大致的认同是下面这样的

用new 关键字去内存开辟一个存储地址比较耗资源,耗内存.

而字面量方式直接在内存开辟一个存储字段相对简单,不耗资源.

我们首先不去否定上面的结论对不对.

首先从功能上来说 var =arr=[] 和 var arr= new Array() 是一样的.
然后我们用一段代码来验证一下

?
1
2
3
4
5
6
7
8
9
10
var startTime=new Date().getTime();
var test1=[];
var test2=[];
for(var i=0;i<1000000;i++){
  //test1[i]={};
  test2[i]=new Object();
}

var endTime=new Date().getTime();
console.log('输出耗时:',endTime-startTime);
上面 test1 和 test2 2个数组中每个元素都是一个数组,可以依次注释任意一行代码,我大概测试10多次以上

结果
36**
36**

上面的2个耗时都是 3600 秒左右,忽上忽下,没有丝毫大的差距
我的运行话就 MacBook Air (13-inch, Mid 2013) ,处理器:1.3 GHz Intel Core i5 , 内存: 4 GB 1600 MHz DDR3 , JS Runner 工具

所以姑且认为上面的2种方法差异不大.
[ ]和new Array()在语法上唯一的区别是new Array()可以直接设置数组的长度

new Array() 在构造数组的时候有下面几种方法

var arr = new Array();
var arr = new Array(8);
var arr = new Array("c", "d", “e”);
字面量方式
var d = ["111", "222", "333"];

所以在性能上这2个方法没有太大差距,只是一种使用习惯,字面量更加直接了当.
退一步讲,如果我用 var arr=[‘111','222','333']; 定义一个数组的时候,难道它没有通过构造函数在内存中开辟一个存放地址吗?

js中数组Array的一些常用方法总结

var list = new Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法。

list[0] = 0;

list[1] = 1;

list[2] = 2;

或者这样声明:var list = [0,1,2]

1 shift()t:删除数组的第一个元素,返回删除的值。这里是0

2 unshift(3,4):把参数加载数组的前面,返回数组的长度。现在list:中是3,4,0,1,2

3pop():删除数组的最后一个元素,返回删除的值。这里是2.

4push(3):将参数加载到数组的最后,返回数组的长度,现在List中时:0,1,2,3

5concat(3,4):把两个数组拼接起来。

6splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...

reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]

sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
分享到:
评论

相关推荐

    javascript数组定义的几种方法

    1、什么是数组 数组就是一组数据的集合 其表现形式就是内存中的一段连续的内存地址 数组名称其实就是连续内存地址...var arr=new Array(值1,值2,值3); //直接实例化 var array=new Array(size); //创建数组并指定长度

    JavaScript程序设计课件:Array对象.pptx

    提示:不使用new关键字创建的数组与使用new等同,如上面第三种方式可定义为var arr3 = Array(1,2,3,5); 6.4.5 Array对象 2、Array对象常用属性及方法 成员 类型 作用 length 属性 设置或返回数组中元素的数目。 concat...

    javascript知识小结

    var arr = new Array(); 或者 var arr = new Array(“China”,123,”USA”); 3、 javascript写在head和body里面的区别: 区别简述:在HTML body部分中的JavaScripts会在页面加载的时候被执行。 在HTML head部分中的...

    Javascript数组及类数组相关原理详解

    2. var arr = new Array() 如果只有一个参数会指定数组的长度,当一个参数时只能是整形,如下例子 var arr = new Array(10) var arr = new Array(10.2) //会报错 var arr = new Array(1, 2, 3) //arr = [1, 2, 3] ...

    JavaScript中的Array 对象(数组对象)

    var arr = new Array();//定义一个没有任何内容的数组对象,然后以下面的方式为其赋值 arr[0] = "arr0"; arr[1] = "arr1"; arr[2] = "arr2"; ---&gt;new Array(size);//定义一个大小有限制的数组对象,然后以下面的...

    JavaScript中Array的实用操作技巧分享

    var arr = new Array(); //[] var brr = Array(); //[] 两者等效 var arr = Array(3); //[] arr.length; //3 长度为3的空数组 var arr = Array(22,33,'qq',{}); //[22, 33, qq, Object] var brr = [22,33,'qq',{}]; ...

    javascript之Array 数组对象详解

    1、创建Array对象方法: ...复制代码 代码如下:var arr = new Array();//定义一个没有任何内容的数组对象,然后以下面的方式为其赋值 arr[0] = “arr0”; arr[1] = “arr1”; arr[2] = “arr2”; —&gt;new Array(size

    JavaScript引用类型Array实例分析

    本文实例讲述了JavaScript引用类型Array。...var arr1 = new Array(); var arr2 = new Array(3); var arr3 = new Array(teacher, 3, true); (2)使用数组字面量表示法 var arr1 = []; var arr2 = [teacher,

    JavaScript入门常见问题解决方案简介.docx

    使用Array.prototype.forEach(): Javascript const arr = [1, 2, 3]; arr.forEach((item, index) =&gt; { console.log(item, index); }); 使用for...of循环: Javascript for (let item of arr) { console.log(item)...

    详解JavaScript中数组的相关知识

    var arr = new Array(arrayLength); // new一个确定长度的array对象 要说明的是: 虽然第三种方法声明了数组的长度,但是实际上数组长度是可变的。也就是说,即使指定了长度为5,仍然可以将元素存储在规定长度之外...

    JavaScript数组的定义及数字操作技巧

     var arr=new Array();  var arr=new Array(size);  var arr=new Array(element1,element2,...);  2、直接定义数组:  var arr=[“字符串”,true,13];   ps: 和Object一样,此写法不会调用Array()构造函数...

    Javascript中关于Array.filter()的妙用详解

    和map类似,Array的filter也接收一个函数。但是和map不同的是, filter把传入的函数依次作用于每个元素,然后根据返回值是 true 还是false决定保留还是丢弃该元素。 实例介绍 例如,在一个Array中,删掉偶数,只保留...

    【JavaScript源代码】JS中for,for...in,for...of和forEach的区别和用法实例.docx

    JS中for,for...in,for...of和forEach的区别和用法实例  for循环  基本语法格式: for(初始化变量;条件表达式;操作表达式){    循环体语句;  } 普通for循环在Array和Object中都可以使用。for循环中可以使用...

    JavaScript内置对象之Array的使用小结

    var arr = new Array(6); 建议:Array作为构造函数,行为很不一致。因此,不建议使用它生成新数组,直接使用数组字面量是更好的做法。 数组的操作: 1.push(); 用于在数组的末端添加一个或多个元素,并返回添加...

    JavaScript之Array 中every,some,map,filter, reduce

    JavaScript之Array 中every,some,map,filter, reduce1 1.every和some every表示数组中的每一项都必须通过才会返回true some表示只要数组元素某一项满足即可 var arr = [1, 2, 3, 4, 5, 6, 7,8, 9]; var a = arr....

    List.js:一个 javascript 数组扩展库

    var list = new List ( arr ) ; // Add a value to a list var list = new List ( ) ; list . add ( 'a' ) ; // Add multiple values to a list var list = new List ( ) ; list . addMany ( [ 'd' , 'e' , 'f' ] ) ...

    integer-array:验证值是否为整数数组

    要在浏览器中使用,请使用 。 用法 var isIntegerArray = require ( 'validate.io-integer-array' ) ; isIntegerArray( 值 ) 验证value是否为integer array 。 var arr = [ 1 , 2 , 3 ] ; var bool = ...

Global site tag (gtag.js) - Google Analytics