为了账号安全,请及时绑定邮箱和手机立即绑定

javascript-理解05数组的概念及定义

标签:
JavaScript

 数组的概念及定义

一组一般情况下相同类型的数据。

除了 Object 类型之外,Array 类型是ECMAScript 最常用的类型。而且 ECMAScript 中的  Array 类型和其他语言中的数组有着很大的区别。 虽然数组都是有序排列, 但 ECMAScript 中的数组每个元素可以保存任何类型。ECMAScript 中数组的大小也是可以调整的。

 数组的创建方式(构造函数和JSON)

第一种是 new 运算符(构造函数);

第二种是字面量(JSON);

注意:给构造函数传递一个值也可以创建数组。如果传递的是数值,则会按照该数值创建包含 给定项数的数组;而如果传递的是其他类型的参数,则会创建包含那个值的只有一项的数组。

 数组的操作

 使用索引下标来读取数组的值--下标是固定的,从0开始

 静态赋值/动态赋值(动态的,无需指定大小)

 数组的length属性 ,代表长度

数组的 length 属性不只是只读的。通过设置这个属性,可以从数组的末尾移除项或向数 组中添加新项。

 遍历访问数组 普通for循环和 for-in循环(结合数组或对象)

约定:所有的点操作可以改写成中括号的形式:   obj.name <===> obj[name]

 检测数组:Array.isArray() 方法

Array.isArray():确定括号中的某个值到底是不是数组

  数组的方法

1、push() 方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。

2、pop() 方法则从数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。

3、unshift()方法 能够在数组前端添加任意个项并返回新数组的长度。

4、shift() 方法能够移除数组中的第一个项并返回该项,同时将数组长度减 1。

5、reverse() 方法会反转数组项的顺序。

6、sort() 方法按字母表升序排列数组项。

/*var a=prompt();

var b=prompt();

var c=prompt();

var arr=[a,b,c];

alert(arr.sort(function(a,b){

return a-b;

}));

注意:如果按照其他方式而非字母表顺序进行数组排列,必须给sort方法传递一个比较函数(做参数)。

reverse() 和 sort() 方法的返回值是经过排序之后的数组,即修改原数组。

7、join()方法将数组中的所有元素都转化为字符串并连接在一起,返回最后生成的字符串。参数为数组项之间的连接符号。

/*var arr=[1,4,1117,2,5,8,3,6,9];

//alert(arr.join('#'));//转换成字符串

8、concat() 方法可以基于当前数组中的所有项创建一个新数组。具体来说,这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给 concat() 方法传递参数的情况下,它只是复制当前数组并返回副本。如果传递给 concat() 方法的是一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中。如果传递的值不是数组,这些值就会被简单地添加到结果数组的末尾。

 

/*alert(arr.concat(arr1,arr2,'hehe'));//返回新数组*/

9、slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。 可以接受一或两个参数,即要返回项的起始和结束位置,不包括结束位置。

10、splice() 方法,对数组进行删除、插入、替换

var arr=['a','b','c','d','e','f','g'];//改变原数组

//alert(arr.slice(2));//从2开始截取一直到最后,2指的是下标

//alert(arr.slice(2,5));//不包括5的位置

//alert(arr.slice(-4,-1));//负数反向数,-1开始,注意数字的顺序

//alert(arr.slice(5,-1));//f

//alert(arr.slice(5,-2));//

//删除、插入、替换

 

//alert(arr.splice(2));

/*alert(arr.splice(2,1,'ok'));//替换

alert(arr);*/

 

 整数数组/字符串数组/对象数组/二维数组


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消