javascript中newArray()和vararr=[]⽤法区别
⼤家在学习javascript中对于数组函数new Array()和var arr=[]很多朋友不知道如何区别,也不知道⽤法,下⾯看看我们总结的。
var arr=[]
这是⼀种字⾯量定义数组的⽅法
var arr=new Array()
这是调⽤数组构造函数⽣成的数组
上⾯的2种定义数组的⽅法到底⼀样不⼀样
⽬前我们⼤致的认同是下⾯这样的
⽤new 关键字去内存开辟⼀个存储地址⽐较耗资源,耗内存.
⽽字⾯量⽅式直接在内存开辟⼀个存储字段相对简单,不耗资源.
我们⾸先不去否定上⾯的结论对不对.
⾸先从功能上来说 var =arr=[] 和 var arr= new Array() 是⼀样的.
然后我们⽤⼀段代码来验证⼀下
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 ⼯具
javascript全局数组所以姑且认为上⾯的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"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论