【前端攻城师之JS基础】05数组

1.数组Array简介

数组也是一个对象,不同的是普通对象通过属性名来访问使用属性值,而数组通过索引来操作元素

  • 创建一个数组

var arr=new Array(); //通过构造函数创建数组对象

arr[0]=10; //向数组内部添加元素

arr[1]=20;

conole.log(arr[1]); //读取数组内的元素

console.log(arr[3]) //读取数组内不存在的元素,不会报错,会返回undefined

  • 设置并返回数组的长度属性length

    lenght属性会获取到数组最大索引+1,也就是数组最后元素的后一个位置

语法 数组.length

  • 修改length

    如果修改的length大于原长度,多出来的部分会占用内存,但是没有值

    如果修改的length小于原长度,则多出来的部分会被删除

  • 向数组的最后一个位置添加元素

arr[arr.length]=100;

2.使用字面量创建数组

  • 数组也是一个对象,对象能用字面量创建,所以数组也能用字面量创建,使用字面量创建数组时,可以同时指定数组中的元素

语法:[ ]

var arr=[1,2,3,4,5]

  • 使用构造函数创建参数时,可以同时添加元素,将要添加元素的值做为构造函数的参数传递

var arr=new Array(1,2,3,4,5)

  • 创建只有一个元素的数组

var arr=[10] //只有一个元素10

var arr=new Array( 10 ) //这个会创建一个长度为10的数组 ,不常使用,因为js中数组中可以随便加元素,没有长度的限制,加的元素索引超过了长度,长度会自动变化

  • 数组元素可以是任何类型的值,包括 Null,Undefined,String ,Number,Bool,和对象和函数和数组
  • 二维数组 arr[ [1,2,3],[3,4,5],[5,6,7] ];

3.数组的方法

1.创建元素的方法

  • push( ) 向数组末尾添加一个或多个元素,并将新数组的长度作为返回值返回
  • unshift( )向数组开头插入一个或多个元素,并返回新数组的长度

2.删除元素的方法

  • pop( )删除数组的最后一个元素,并将被删除的元素作为返回值返回
  • shift( )删除并返回数组的第一个元素

3.遍历数组的方法


 for循环

  for( var i=0;i<arr.length;i++)

  arr[i];

forEach方法

  forEach(  )方法需要一个函数作为参数,这种函数由我们自己创建但不由我们调用,**我们称为回调函数**,此处函数由浏览器调用

  数组中有几个元素,函数就会执行几次,每次执行时,**浏览器会将当前遍历到的元素以实参的形式传递给回调函数的形参**,我们可以来定义形参获取这些内容

  - 浏览器会给回调函数传递三个参数

    第一个:就是当前正在遍历的元素

    第二个:就是当前正在遍历的元素的下标

    第三个:就是被遍历的一整个数组

  arr.forEach(function(element,index,object ){

  console.log(element);

  })

4.slice()截取和splice( )方法

slice方法(start,end )从数组中提取指定元素,该方法不会改变原数组的元素,而是将截取到的元素放入新数组返回

参数:start: 表示截取开始位置的下标,包含开始元素
end表示截取结束位置的下标,不包含结束元素

第二个end参数可以不写,就表示会截取从开始位置之后的所有的元素
参数也可以是一个负值,比如-1表示倒数第一个元素 ,-2表示倒数第二个元素
  • splice方法(start,length)用于删除数组的指定元素,并创建新的元素,该方法会影响原数组
    参数:
    start :表示要删除开始位置的下标

    length:表示要删除元素的个数

    第二个参数之后,可以传递一些新元素,这些元素会自动插入到开始位置索引之前的位置

splice总结:
splice( )方法可以用于删除元素
splice( )方法可以用于替换元素 //加上第三个参数即可
splice( )方法可以用于创建元素//第二个参数length长度设置为0即可

5.补充方法

concat( )方法可以连接两个或多个数组,该方法不会影响原来的数组,会将新数组作为返回值返回
arr.concat(arr1,arr2,“牛魔王”,“铁扇公主”),该方法不仅可以连接数组,还可以连接数组和字符串

join() 可以将一个数组转换为一个字符串,该方法不会对原数组产生影响
参数:
需要一个字符串作为参数,这个字符串将会作为连接符来连接数组中的元素
如果不指定连接符则默认使用逗号
可以指定一个空串作为连接符
var arr=[1,2,3]
var result=arr.join(“+”);
result=“1+2+3”;

sort()
	- 可以对一个数组中的内容进行排序,默认是按照Unicode编码进行排序,所以我们对数字进行排序时会得到意向不到的效果,sort会影响原来的数组
		调用以后,会直接修改原数组。
	- 可以自己指定排序的规则,需要一个回调函数作为参数:
		function(a,b){
			
			//升序排列
			//return a-b;
			
			//降序排列
			return b-a;
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值