博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js数组操作
阅读量:7030 次
发布时间:2019-06-28

本文共 4531 字,大约阅读时间需要 15 分钟。

1. 定义数组

1.1

用关键词 new 来创建数组对象,然后可向数组添加任意个值

var arr=new Array()arr[0]="a"arr[1]="b"arr[2]="c"复制代码

1.2

new的时候规定数量

var arr=new Array(3)arr[0]="a"arr[1]="b"arr[2]="c"复制代码

1.3

直接在new对象里赋值

var arr=new Array("a","b","c")复制代码

1.4

中括号的形式

var arr=["a","b","c"];复制代码

2. 数组操作

2.1 concat()

用于连接两个或多个数组,不改变原数组

var a = [1,2,3];document.write(a.concat(4,5));//1,2,3,4,5复制代码
var arr = new Array("George","John","Thomas");var arr2 = new Array("James","Adrew","Martin")var arr3 = new Array("William","Franklin")document.write(arr.concat(arr2,arr3))//George,John,Thomas,James,Adrew,Martin,William,Franklin复制代码

2.2 join()

把数组中的所有元素放入一个字符串,并通过指定的分隔符进行分隔

括号里面不填

var arr = new Array("George","John","Thomas");document.write(arr.join());//George,John,Thomas复制代码

有分隔符"."

var arr = new Array("George","John","Thomas");document.write(arr.join("."));//George.John.Thomas复制代码

括号里面为空字符(不是空格)

var arr = new Array("George","John","Thomas");document.write(arr.join(""));//GeorgeJohnThomas复制代码

括号里面为空格

var arr = new Array("George","John","Thomas");document.write(arr.join(" "));//George John Thomas复制代码

2.3 pop()

删除并返回数组的最后一个元素,如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值

var arr = new Array("George","John","Thomas");document.write(arr);  //George,John,Thomasdocument.write(arr.pop());  //Thomas//删除一个元素后,数组只剩两个元素document.write(arr);  //George,John复制代码

2.4 push()

向数组的末尾添加一个或多个元素,并返回新的长度

var arr = new Array("George","John","Thomas");document.write(arr + "
")document.write(arr.push("James",'Mike') + "
")document.write(arr);//返回值George,John,Thomas5George,John,Thomas,James,Mike复制代码

2.5 reverse()

用于颠倒数组中元素的顺序

var arr = new Array("George","John","Thomas");document.write(arr + "
");document.write(arr.reverse());//返回值George,John,ThomasThomas,John,George复制代码

2.6 shift()

把数组的第一个元素从其中删除,并返回第一个元素的值。如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值

var arr = new Array("George","John","Thomas");document.write(arr + "
")document.write(arr.shift() + "
")document.write(arr);//返回值George,John,ThomasGeorgeJohn,Thomas复制代码

2.7 slice()

从已有的数组中返回选定的元素

obj.slice(start,end)

start为必须参数,规定从这个下标开始选择(包括这个下标),如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素

end为可选参数,规定从何处停止选择(不包括这个下标),如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素

2.7.1

var arr = new Array("George","John","Thomas");document.write(arr.slice(1) + "
");document.write(arr);//返回值George,John,ThomasJohn,ThomasGeorge,John,Thomas复制代码

不改变原数组,从下标1开始选取,直到结束

2.7.2

var arr = new Array("George","John","Thomas",James,Adrew,Martin);document.write(arr.slice(2,4) + "
");//返回值George,John,Thomas,James,Adrew,MartinThomas,James复制代码

下标为2开始,到下标为4(不包括4)

2.8 sort()

用于对数组的元素进行排序,数组在原数组上进行排序,不生成副本

如果调用该方法时没有使用参数,按照字符编码的顺序进行排序

2.8.1

var arr = new Array("George","John","Thomas",James,Adrew,Martin);document.write(arr + "
");document.write(arr.sort());//返回值George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas复制代码

按首字母的字符编码进行排序

2.8.2

var arr = new Array(10,5,40,25,1000,1);document.write(arr + "
")document.write(arr.sort())//返回值10,5,40,25,1000,11,10,1000,25,40,5复制代码

按第一个数字的字符编码进行排序

2.8.3

通过插入比较函数function sortNumber(a,b){return a - b}绝对排序

即a-b为升序,b-a为降序

var arr = new Array(10,5,40,25,1000,1);document.write(arr.sort(sortNumber));function sortNumber(a,b){return a - b;}//返回1,5,10,25,40,1000复制代码
var arr = new Array(10,5,40,25,1000,1);document.write(arr.sort(sortNumber));function sortNumber(a,b){return b - a;}//返回1000,40,25,10,5,1复制代码

2.9 splice()

向/从数组中添加/删除项目,然后返回被删除的项目

2.9.1

var arr = new Array("George","John","Thomas",James,Adrew,Martin);document.write(arr + "
");arr.splice(2,0,"William");document.write(arr + "
");//返回值George,John,Thomas,James,Adrew,MartinGeorge,John,William,Thomas,James,Adrew,Martin复制代码

arr.splice(2,0,"William");中,2表示从下标为2开始添加/删除元素,添加的元素为"William",0表示不删除元素

2.9.2

var arr = new Array("George","John","Thomas",James,Adrew,Martin);document.write(arr + "
");arr.splice(2,1,"William");document.write(arr);//返回值George,John,Thomas,James,Adrew,MartinGeorge,John,William,James,Adrew,Martin复制代码

arr.splice(2,1,"William");2表示从下标2开始,1表示删除一个元素,即删除下标为2的元素,并在下标为2处添加"William"

2.9.3

var arr = new Array("George","John","Thomas",James,Adrew,Martin);document.write(arr + "
");arr.splice(2,3,"William");document.write(arr);//返回值George,John,Thomas,James,Adrew,MartinGeorge,John,William,Martin复制代码

arr.splice(2,3,"William");,从下标为2开始删除三个元素,并在下标为2处添加"William"

2.10 unshift()

向数组的开头添加一个或更多元素,并返回新的长度

var arr = new Array("George","John","Thomas");document.write(arr + "
");document.write(arr.unshift("William") + "
");document.write(arr);//返回值George,John,Thomas4William,George,John,Thomas复制代码

转载地址:http://dnwal.baihongyu.com/

你可能感兴趣的文章
bupt summer training for 16 #1 ——简单题目
查看>>
【Udacity】朴素贝叶斯
查看>>
shader 讲解的第二天 把兰伯特模型改成半兰泊特模型 函数图形绘制工具
查看>>
python3.5安装Numpy、mayploylib、opencv等额外库
查看>>
优雅绝妙的Javascript跨域问题解决方案
查看>>
Java 接口技术 Interface
查看>>
函数草稿
查看>>
织梦系统学习:文章页当前位置的写法(自认对SEO有用)
查看>>
PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)
查看>>
vue input输入框长度限制
查看>>
深入理解Java虚拟机(类加载机制)
查看>>
在500jsp错误页面获取错误信息
查看>>
iOS-CALayer遮罩效果
查看>>
为什么需要版本管理
查看>>
五、Dart 关键字
查看>>
React Native学习笔记(一)附视频教学
查看>>
记Promise得一些API
查看>>
javascript事件之调整大小(resize)事件
查看>>
20145234黄斐《Java程序设计》第六周学习总结
查看>>
【CLRS】《算法导论》读书笔记(四):栈(Stack)、队列(Queue)和链表(Linked List)...
查看>>