Array 的使用方法 1、声明Array的方法 (1) var arr = new Array(); //var arr = new Array(20); //通过构造函数指定数组的大小:缺点:如果数组不能填充满,浪费内存 优点:如果知道数组大小,能加快程序的运行速度,优化程序。 arr[0] = 'green'; arr[1] = 'red'; arr[2] = 'yellow'; alert(arr.length);//outputs : 3 arr[25] = 'blue';//直接没有被赋值的索引的地方都填充null alert(arr.length);//outputs : 26 (2) var arr = new Array('green','red','yellow'); alert(arr.length);//outputs : 3 (3) var arr = new Array;//没有用到构造函数的时候,可以省略后面的括号'()' arr.push('green'); arr.push('red'); arr.push('yellow'); alert(arr.length);//outputs : 3 (4) var arr = [];//js声明Array的简写。 arr[0] = 'green'; arr[1] = 'red'; arr[2] = 'yellow'; alert(arr.length);//outputs : 3 //也可以 var arr = ['green','red','yellow']; 2、Array的常用方法 (1)、join();数组生成字符串时候的链接, 例如: var arr = ['green','red','yellow']; alert(arr.join('-'));//outputs :green-red-yellow alert(arr.join(''));//outputs :greenredyellow alert(arr.join(']['));//outputs :green][red][yellow (2)、toString(); //valueOf(); //valueOf()函数里面调用的是toString()方法。可以进行验证 Array.prototype.toString = function(){ return this.join('-'); }; //此时同时调用Array的toString()和valueOf()函数,发现它们结果相同, //证明了valueOf()也被重写了。 Array.prototype.valueOf = function(){ return this.join('-'); }; //这样重写了valueOf()之后,同时调用Array的toString()和valueOf()函数, //发现它们结果不相同。说明‘valueOf()函数里面调用的是toString()方法’。 (3)、slice(arg1[,arg2]);//返回数组,和String的substring()方法的使用方法类似。 var arr = []; arr[0] = 'green'; arr[1] = 'red'; arr[2] = 'yellow'; arr[3] = 'blue'; arr[4] = 'black'; var tempArray_1 = arr.slice(1); var tempArray_2 = arr.slice(0,3); alert(tempArray_1.toString());//outputs : red,yellow,blue,black alert(tempArray_2.toString());//outputs : green,red,yellow (4)、push()、pop(): 对[栈](后进先出结构,动作都在栈顶发生)的操作 var arr = []; for(var i = 0 ; i < 6; i++){ //[注意] push()方法可以允许同时放入多个参数,构成数组 arr.push('hello_' + i);//arr.push('hello_' + i,'world_' + i); } alert(arr.toString());//outputs : hello_0,hello_1,hello_2,hello_3,hello_4,hello_5 var removedItem = arr.pop(); alert(removedItem);//outputs : hello_5 alert(arr.toString());//outputs : hello_0,hello_1,hello_2,hello_3,hello_4 (5)、shift()、unshift():对[队列](后进后出结构,最近加入的元素最后删除。数据的插入发生在队列的尾部,数据的删除发生在队列的头部) shift()删除数组的第一项 unshift()把一个项放在数组的第一个位置 var arr = ['green','red','yellow']; var item = arr.shift(); alert(item.toString());//outputs : green alert(arr.toString());//outputs : red,yellow arr.unshift('black'); alert(arr.toString());//outputs : black,red,yellow (6)、排序: reverse();颠倒数组里面元素的顺序 sort();对于字母排序正常,按照字母的顺序排序。对于数字和汉字的排序,就会有问题,这个地方需要重构。 (7)、splice()作用:把数据项插入数组的中部 a、删除 :(2个参数)声明2个参数,分别是:要删除的第一个项的位置和要删除的项的个数 例如: arr.splice(0,2);删除掉数组arr中的前两项 b、替换而不删除 :(3个参数)声明3个参数,分别是:起始位置、0(要删除的数据项的个数)、和要插入的项。 此外,还可以用更多的参数项指定其他要插入的项。 arr.splice(2,0,'red','blue');将在第2个位置插入'red'和'blue' c、替换并删除 :(3个参数)声明3个参数,分别是:起始位置、要删除的数据项的个数以及要插入的项。 此外,还可以指定要插入的更多的项。要插入的项的个数不必等于删除的项的个数。 例如:arr.splice(2,1,'red','green');将删除数组arr中位置2处的项,然后在位置2处插入'red'和'green'。 (8)、字符串变成数组:split() var str = 'h,e,l,l,o'; var arr = str.split(',');//变成数组 alert(arr.toString());//outputs : h,e,l,l,o var s = arr.join('][');//逆操作,数组变成字符串 alert(s);//outputs : h][e][l][l][o 3、关于数组的优化: (1)、数组循环3种优劣势比较:推荐用for(var i = 0 ; arr[i] ; i++){//your code} var arr = [1,2,3,4,5,6,7,8,9]; a、性能:最差 for(var i = 0 ; i < arr.length ; i++){ alert(arr[i]); } b、性能:折中 for(var i = 0 , j = arr.length ; i < j ; i++){ alert(arr[i]); } c、性能:最优 for(var i = 0 ; arr[i] ; i++){ alert(arr[i]); } 当数据量为1500条,3种循环时间消耗相差无几; 当数据量为15000条,(1)会当掉,(2)耗时比较长,(3)瞬间完成; 当数据量为150000条,(1)、(2)都会当掉,(3)耗时2s左右完成; [注意]采用 c 方式( for(var i = 0 ; arr[i] ; i++) )的时候, 当数组元素arr[i]为 0 或者 '0' 时, 会停止运行,认为 arr[i](值为0)是false 所以 c 方式适合于对象(Object)循环,不适用于数字循环。 (2)、对数组赋值 建议采用索引赋值,而不是采用push()赋值。速度会快很多。
相关推荐
Javascript数组Array操作整理[定义].pdf
数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,下面小编给大家整理了关于数组的操作方法,一起看看吧。 数组创建 JavaScript中创建数组有两种方式,...
主要介绍了javascript中的Array数组知识点,对数组的基本使用方法,以及各种方法进行整理,感兴趣的小伙伴们可以参考一下
相信对很多学习JavaScript语言的人来说,都会经常搞不清slice和splice这两个方法。它们虽然名称相似,但是功能却...所以这篇文章就给大家详细整理了关于JavaScript中数组slice和splice的对比,有需要的可以参考学习。
这里就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。 1.遍历数组法 最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法...
今天抽点时间把javascript中的一些常用的数组算法做一下总结,以方便大家面试笔试或者日常开发过程中用到。其中部分算法来自网络,这里做了下汇总整理。文章末尾我会把参考的来源附上去,如果直接看算法比较枯燥的...
从“原始值和引用值类型及区别”到“EventLoop事件循环&宏任务和微任务 ”,整理了Javascript学习和面试中遇到的一些基础和常见的问题。 总共包含33个问答,部分问题带有代码解答。 1. 原始值和引用值类型及区别 2. ...
最近为了换工作,准备下面试,开始回顾复习JavaScript相关的知识,昨天下午想到了数组去重的相关方法,干脆整理出几篇JavaScript算法文章,以备后用,此系列文章不定篇数,不定时间,想到哪写到哪,不保证正确性,不...
var myarr=new Array(); //定义数组 myarr[0]=80; myarr[1]=60; myarr[2]=99; [removed]("第一个人的成绩是:"+myarr[0]); [removed]("第二个人的成绩是:"+myarr[1]); [removed]("第三个人的成绩是:"+myarr[2]...
JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。 要取得Array的长度,直接访问length属性: var arr = [1, 2, 3.14, 'Hello', null, true]; arr.length; // 6 请注意,直接给Array的length赋...
主要介绍了一些JavaScript常用字符串与数组扩展函数,整理了一些简单而使用率又高的操作String与Array的函数,需要的朋友可以参考下
今天小编给大家整理些关于javascript判断变量是否是数组(Array)的相关知识,主要通过以下四点给大家展开话题,具体内容如下所示: 1. typeof真的那么厉害吗?? //首先看代码 var ary = [1,23,4]; console.log...
Object是一个基础类型,Array是数组类型,Date是日期类型,RegExp是正则表达式类型,等。 拥抱JavaScript 曾经名不经传的JavaScript随着AJAX的流行而身价倍增,现在JavaScript不再仅仅是WEB开发中一个可有可无的...
如果你读过Google的那篇大名鼎鼎的论文...由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } v
3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()...
3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()...
3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()函数 ...
{1.10}数组(array)}{34}{section.1.10} {1.10.1}数组变量的声明}{34}{subsection.1.10.1} {1.10.2}数组变量的初始化}{34}{subsection.1.10.2} {1.10.3}数组对象的引用}{35}{subsection.1.10.3} {1.10.4}数组...
11、增加array.js,提供一些操作数组的实用方法 12、调整了dist目录结构,第三方组件和适合单独调用的组件将直接包含在lib目录中 13、Chosen选项及分组支持title属性,Chosen弹出列表支持自定义宽度,调整多选Chosen...