JavaScript中的数组

数组的定义方式

   字面量定义 var arr = [];
   构造函数定义 var arr = new Array();当里面参数只有一个的时候,表示的是数组的长度

数组

   数组的成员有编号,这种编号我们称为下标或者索引,数组也是属于对象,所以也是引用类型。所以数组也有自己的方法

数组的方法

    arr.isArray()
        该方法用于判断一个值是不是一个数组,成功弥补了typeof运算符不足。typeof运算符判断数组只能是object,若该值是数组,则返回true。
    arr.push()
        该方法用于向数组的末尾增加一项.参数是所要添加的数组新成员,返回值为数组的长度

	var arr = [1,2,3,4];
	console.log(arr.push(5)); // 输出结果为5
	console.log(arr); //输出结果为[1,2,3,4,5]

    arr.pop()
        该方法用于从数组的末尾移除这一项,返回值为移除的那一项

	var arr = [1,2,3,4,5];
	console.log(arr.pop()); //输出结果为5
	console.log(arr); //输出结果为[1,2,3,4]

    arr.unshift()
        该方法用于向数组的头部增加一项.参数是所要添加的数组新成员,返回值为数组的长度

	var arr = [2,3,4,5];
	console.log(arr.unshift()); //输出结果为5
	console.log(arr); //输出结果为[1,2,3,4,5]

    arr.shift()
        该方法用于向数组的头部删除一项,返回值为移除的那一项

	var arr = [0,1,2,3,4,5];
	console.log(arr.shift()); //输出结果为0
	console.log(arr); //输出结果为[1,2,3,4,5]

    arr.concat();
      连接数组,该方法用于给数组连接新成员,参数可以有任意个。若参数中含有数组,需要定义一个新的数组来接收

	var arr = [1,2];
	console.log(arr.concat(3,4,5)); //输出结果为 [1,2,3,4,5];
	var arr1 = [3,4,5];
	var arr2 = arr.concat(arr1);
	console.log(arr2); //输出结果为[1,2,3,4,5]

   arr.reverse();
      该方法是将数组逆序,并且这个方法会改变原数组

	var arr = [1,2,3,4,5,6];
	var arr1 = arr.reverse();
	console.log(arr); //输出结果为[6,5,4,3,2,1]
	console.log(arr1); //输出结果为[6,5,4,3,2,1]
	console.log(arr === arr1); //输出结果为true

   arr.sort(function(a,b){ return b-a});
      该方法用于给数组排序,并且数组中的数据必须都是数字,若返回值是a-b,则是从小到大来排序。若返回值是b-a,则是从大到小来排序

	var arr = [3,4,2,6,5,1]
	arr.sort(function(a,b){
		return a-b;
	});
	console.log(arr); //输出结果为[1,2,3,4,5,6]

   arr.sort();
      该方法是将数组转变为字符串

	var arr = [1,2,3,4,5]
	console.log(arr.sort()); //输出结果为12345

   arr.slice(start,end);
      该方法是用于截取数组,并且不会改变原数组。需要定义一个新的数组,start是开始截取的位置,end是截取到的位置,并且符合左闭右开的原则。当只有一个参数的时候,表示从开始的位置截取到最后一位。当没有参数的时候,表示全部截取。当参数为负数的时候,表示从后往前截取。若只有一个参数为负数的时候,表示从后往前截取,若start为负数,end为正数的时候,只能截取到空数组

	var arr = [1,2,3,4,5,6];
	var arr1 = arr.slice(1,5);
	var arr2 = arr.slice(2);
	var arr3 = arr.slice();
	var arr4 = arr.slice(1,-1);
	var arr5 = arr.slice(-1,3);
	console.log(arr); //输出结果为[1,2,3,4,5,6]
	console.log(arr1); //输出结果为[2,3,4,5]
	console.log(arr2); //输出结果为[3,4,5,6]
	console.log(arr3); //输出结果为[1,2,3,4,5,6]
	console.log(arr4); //输出结果为[2,3,4,5]
	console.log(arr5); //输出结果为[]

   arr.splice(pop,num,…);
      该方法是用于操作数组,pop:表示操作数组的位置,num:表示要删除几项,之后的每一行都表示往pop的位置插入的成员。

	var arr = [1,2,3,4,5,6,7]
	//删除3
	var result = arr.splice(2,1);
	console.log(result) //输出结果为[3],此时的返回值为一个新的数组,数组中的成员就是删除的数据
	//将3替换成9
	var result = arr.splice(2,1,9);
	console.log(result); //输出结果[3],此时的返回值为一个新的数组,数组中的成员就是删除的数据
	//在5前面插入5个1
	var result = arr.splice(4,0,1,1,1,1,1);
	console.log(result); //输出结果为[],此时的返回为一个新数组,此时未删除原数组的成员,所以是一个空数组
	//当我们传入一个参数,看看结果是什么
	var result = arr.splice(3);
	console.log(result); //输出结果为[4,5,6,7],当我们只传入一个参数的时候,表示从这个参数开始截取,截取到数组的最后一位.此时的返回值是截取后的数组

ES5新增的一些数组方法

   arr.forEach(function(value,index,self){ return});
      该方法是用于遍历数组,value就是数组中的每一个成员,index就是数组中的每一个成员所对应的下标,self是该数组。
   arr.map(function(value,index,self){ retunrn})
      该方法是用于操作数组,value就是数组中的每一个成员,index就是数组中的每一个成员所对应的下标,self是该数组。需要定义一个新数组function会执行数组.length次 返回一个新的数组的成员,并且新数组的长度与原来的数组长度保持一致

 	var arr = [1,2,3,4,5];
 	var arr1 = arr.map(function(value){
		return value*2;
	});
	console.log(arr); //输出结果为[1,2,3,4,5]
	console.log(arr1); //输出结果为[2,4,6,8,10]

   arr.fill(num,start,end)
      该方法是用于填充数组,第一个参数是要填充的数据,第二个参数是开始填充的位置(可选),第三个参数是结束填充的位置(可选)

	var arr = [1,2,3,4,5];
	//将数组的每一个都填充为0
	console.log(arr.fill(0)); //输出结果为[0,0,0,0,0]
	//将数组的第二个开始往后都填充为0
	console.log(arr.fill(0,1)); //输出结果为[1,0,0,0,0]
	//将数组的第二个到第四个填充为0
	console.log(arr.fill(0,1,3)); //输出结果为[1,0,0,0,5]

   arr.some(function(value,index,self){ return 布尔值})
      该方法为判断数组是否含有函数中的描述,只要数组中有一个成员符合函数中的条件,就返回true,都不符合才返回false。

	//判断数组是否含有字符串。
		//方法一
		var arr = [1,2,3,4,5];
		var result = false;
		for(var i = 0;i<arr.length;i++){
			if(typeof arr[i] === "string"){
				return = true;
				break;
			}
		}
	console.log(result); //此时为false,若存在字符串则为true
		//方法二
		var arr = [1,2,3,4,5];
		var result = arr.some(function(value,index,self){
			return typeof value === "string";
		});
		console.log(result); //此时为false,若存在字符串则为true

   arr.every(function(value,index,self){ return 布尔值})
      该方法为判断数组是否含有函数中的描述,数组中每一个成员符合函数中的条件,就返回true,都不符合才返回false。

	var arr = [1,2,3,"4",5];
	var result = arr.every(function(value,index,self){
		return typeof value === "string";
	})
	console.log(result); //此时为false,因为数组中只有一项符合条件

   arr.indexOf(num.start)
      该方法用于查找数组中是否存在某一个成员,如果找得到话返回该成员的下标,如果找不到的话则返回-1。第一个参数表示要查找的成员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值