js数组

JS数组的创建:

1,使用Array数组的方式:

  var arrayObj = new Array(); //创建一个数组

  var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

  var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值

   要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2,采用字面量的方法

    var arr = [];//创建一个空数组

    var arr2 = [1,2,3];//创建一个有三个元素的数组

JS数组的主要方法:

1,数组元素的添加

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

2,数组元素的删除

arrayObj.pop(); //移除最后一个元素并返回该元素值(pop和push连在一起记忆,队列形式的操作)

arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移(shift,unshift针对的都是数组最前面的元素,栈形式的数据操作)

arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素


注意:splice方法既可以用于数组的删除也可以用于数组的插入

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。

  arrayObject.splice(index,howmany,item1,.....,itemX)

index:必填,数组删除或插入的位置。使用负数可从数组结尾处规定位置。

howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。

  item1, ..., itemX:可选。向数组添加的新项目。

返回值:新数组,要是删除的话,也会包括被删除的元素

    要是删除的话,splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组

请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

3,数组元素截取

1,slice方法:

arrayObject.slice(start,end)可以从数组中返回start下标开始取值,直到end下标结束(不包括)。

    start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

    end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

若end为 返回值,返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

注意:请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

4,数组元素的合并

Contact是将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);

如果没有参数,则表示对数组进行了一次深拷贝。

参数也可以是string类型

5,数组的拷贝

arrayObj.slice(0); //slice(start,end)start设置为0,省略end则表示从头截取到为,即对数据进行了一份拷贝。返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向。

6,数组的排序

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址

arrayObj.sort(); //对数组元素排序,返回数组地址

7,数组与字符串互换 

数组的toString(),valueOf()方法可是使得数组以字符串的形式输出,但是是存在差别:

 toString一定将所有内容转为字符串

 valueOf取出对象内部的值,不进行类型转换

另外,Array还有join()方法,是以指定的分隔符,来构建字符串。

字符串转数组:使用split()方法

valueOf取出对象内部的值,不进行类型转换。虽然以字符串的形式输出内容,但是还是数组格式。split()就是将字符串转为了数组。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、数组方法汇总 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var ...
    快抓住那个胖子阅读 301评论 0 0
  • js数组常用方法整理 标签:js 数组 前言:这篇文章主要是一些归纳总结,大部分参考的是MDN的程序,也加了一些自...
    wrma阅读 731评论 0 10
  • 数组的创建 字面量方式 直接赋值var a = [1, 2, 3];// [1,2,3] 构造器(new Arra...
    励志摆脱懒癌的少女酱阅读 265评论 0 0
  • 前言:js数组自带了很多属性方法,这些方法为我们写程序提供了方便,因此,也是笔试、面试中经常会被问到的,本文总结了...
    小道小姐姐阅读 364评论 0 1
  • 一位美女朋友,美女用在她身上不是名词,是形容词,个子娇小,脸小下巴尖,大眼睛,皮肤白,走路自带一种侠气,声音稍带一...
    九九弱水三千阅读 490评论 0 4