JavaScript 的数组

JavaScript 的数组

  • 数组(Array)是一个用于保存多个数据的结构,按照线性结构来保存的。
1、创建数组
	var arrayName = [];  // 创建空数组
	var arrayName = ['赵', '钱', '孙', '李'];
	var arrayName = new Array();  // 创建空数组
	var arrayName = new Array('赵', '钱', '孙', '李');
2、数组的使用
  • 获取 或 设置数组中的元素,一律使用下标(0—length-1)
	// 取值
	var arrayName = ['赵', '钱', '孙', '李'];
	var zhao = arrayName[0] ;  // '赵'
	var li = arrayName[3] ;  // '李';
	var kong = arrayName[4] ;  // undefined;

	// 赋值
	arrayName[0] = "周";  // ['周', '钱', '孙', '李']
	arrayName[4] = "吴"   // ['周', '钱', '孙', '李', '吴'] 添加元素
	arrayName[6] = "郑"   // ['周', '钱', '孙', '李', '吴', , '郑'] arrayName[5]自动为undefined
3、获取数组的长度
  • 属性:length
  • 用法:array.length
	// 遍历数组
	var arrayName = ['赵', '钱', '孙', '李'];
	for(var i = 0; i < arrayName.length; i++){
		console.log(arrayName[i])
	}	
	
	// 找到插入最新元素时的位置
	var arrayName = ['赵', '钱', '孙', '李'];
	arrayName[arrayName.length] = '周'  // ['赵', '钱', '孙', '李', '周']
4、关联数组
  • 索引数组:以数字为下标
  • 关联数组:以字符串为下标
	var arrayName = [];
	arrayName["zhao"] = "赵";
	arrayName["qian"] = "钱";
	arrayName["sun"] = "孙";
	arrayName["li"] = "李";
	arrayName[0] = "周";
	arrayName[1] = "吴";
	arrayName[2] = "郑";
	arrayName[3] = "王";
	arrayName.length   // 4  只能计算索引数组的长度
	
	// 遍历关联数组或者索引数组的方式
	for (var i in arrayName){
	    console.log(arrayName[i])
	}
5、数组的常用API
  • 1、toString()
  • 作用:将数组转换为字符串,并返回,不改变原数组
	var arrayName = ['赵', '钱', '孙', '李'];
	var str = arrayName.toString();
	console.log(str);  // 赵,钱,孙,李
	console.log(arrayName) // ['赵', '钱', '孙', '李']
  • 2、join(seperator)
    • 作用:返回一个由指定连接符连接的字符串
    • 参数:seperator(连接符)
	var arrayName = ['赵', '钱', '孙', '李'];
	var str = arrayName.join("|");
	console.log(str);  // 赵|钱|孙|李
	console.log(arrayName) // ['赵', '钱', '孙', '李']
  • 3、concat(arr1,arr2…)
    • 作用:拼接多个数组,并返回拼接后的数组,且不改变原数组
	var arrayName1 = ['赵', '钱', '孙', '李'];
	var arrayName2 = ['周', '吴', '郑', '王'];
	var arrayName3 = [];
	console.log(arrayName3.concat(arrayName1,arrayName2)); 
	// ['赵', '钱', '孙', '李', '周', '吴', '郑', '王']
	console.log(arrayName3);  //  [],不会改变原数组
  • 4、reverse()
    • 作用:数组反转,返回反转后的数组,会改变原数组
	var arrayName1 = ['赵', '钱', '孙', '李'];
	var arrayName2 = arrayName1.reverse();
	console.log(arrayName1);  // ["李", "孙", "钱", "赵"]
	console.log(arrayName2);  // ["李", "孙", "钱", "赵"]
  • 5、sort()
    • 作用:对数组进行排序,默认情况下,按照元素的Unicode码进行排序,并会改变原数组
    • 注意:允许通过自定义的排序函数来指定数字的排序规则
    • 语法:arrayName.sort(排序函数)
	 var arrayName1 = [103, 36, 57, 88, -1, -204, 93];
	 console.log(arrayName1.sort())  //[-1, -204, 103, 36, 57, 88, 93]
	 console.log(arrayName1)  //[-1, -204, 103, 36, 57, 88, 93]
	 
	// 自定义排序函数 
	function sortAsc(a, b) {
	    return a - b;     // 升序排序,冒泡排序算法,a-b>0时,交互位置
	}
	console.log(arrayName1.sort(sortAsc))  // [-204, -1, 36, 57, 88, 93, 103]
	arrayName1.sort(function (a, b) {return b - a})   // [103, 93, 88, 57, 36, -1, -204] 匿名函数,降序排列
	console.log(arrayName1)
  • 6、进出栈操作
    • 作用:提供快速操作数组头部或尾部的方法,改变原数组
函数说明语法
push()入栈,向数组的尾部添加新元素,并返回新数组的长度arrayName.push(“周”),返回数字
pop()出栈,删除并返回数组尾部的元素arrayName.pop(),返回尾部元素
unshift()向数组头部添加新元素,并返回新数组长度arrayName.unshift(“周”),返回数字
shift()删除并返回数组头部的元素arrayName.shift(),返回头部元素
	var arrayName = ["赵", "钱"];
	console.log(arrayName.push("孙"));      // 3
	console.log(arrayName);                 // ["赵", "钱", "孙"]
	
	console.log(arrayName.pop())            // 孙
	console.log(arrayName);                 // ["赵", "钱"];
	
	console.log(arrayName.unshift("孙"));   // 3
	console.log(arrayName);                 // ["孙", "赵", "钱"]
	
	console.log(arrayName.shift());         // 孙
	console.log(arrayName);                 //["赵", "钱"];
  • 7、二维数组
    • 说明:数组中的数组
	var arrayName = [];
	arrayName.push([1,2,3]);
	arrayName.push([4,5,6]);
	arrayName.push([7,8,9]);
	console.log(arrayName);
	console.log(arrayName[1][1]);  // 5
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值