JavaScript数组

数组概述

数组是指一组数据的集合,数组内每个数据被称为元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式

let arr = [1,'2',true];

创建数组

js中创建数组有两种方式:

  • 利用new创建数组
let arr = new Array(); // 创建了一个空数组
  • 利用数组字面量创建数组
let arr = []; //创建了一个空数组
let arr1 = [1,'2',true]; 

获取数组中的元素

索引(下标):用来访问数组元素的序号(索引号从0开始)
索引号
数组可以通过索引来访问(获取)、设置、修改对应的数组元素
可以通过数组名[索引号]的形式来获取数组中的元素

let arr = [1,2,3,4]
arr[0] // 获取数组中第一个元素 1
arr[4] // undefined

遍历数组

遍历数组:把数组中的元素从头到尾访问一次
可以通过循环使索引号递增来遍历数组

let arr = [1,2,3,4]
for (let i = 0; i < arr.length; i++) {
	cosole.log(arr[i]);
}
// 1 2 3 4

上述代码中的arr.length表示数组arr的数组长度(数组元素数量)

新增数组元素

  • 新增数组元素–修改数组长度
let arr = [1,2,3];
arr.length = 5; // 把数组的长度修改为5,里面有5个元素
console,log(arr[3]); // undefined
  • 新增数组元素–修改索引号
let arr = [1, 2, 3];
arr[4] = 5;
arr[0] = 0;
console.log(arr.length); // 5
console.log(arr[3]); // undefined
console.log(arr[0]); // 1 被替换为 0

arr = '1';
console.log(arr); // '1' 直接给数组名赋值会覆盖原来的数组

数组案例

求数组的和

let arr = [1, 2, 3, 4];
let sum = 0;
for (let i = 0; i < arr.length; i++) {
	sum += arr[i];
}
console.log(sum); // 10

求数组最大值

let arr = [3, 11, 2, 1];
let max = 0;
for (let i = 0; i < arr.length; i++) {
    if (arr[i] > max) {
    	max = arr[i];
    }
}
console.log(max); // 11

数组转换为字符串

数组转换为字符串,同时在后面添加一个分隔符|

let arr = [3, 11, 2, 1];
let str = '';
let sep = '|'; 
for (let i = 0; i < arr.length; i++) {
    str += arr[i] + sep;
}
console.log(str); // 3|11|2|1|

数组存放1~5的值

let arr = [];
for (let i = 0; i < 5; i++) {
    arr[i] = i + 1;
}
console.log(arr); // [1,2,3,4,5]

数组筛选

// 筛选出大于3的数
let arr = [1, 2, 3, 4, 5];
let arr1 = [];
for (let i = 0; i < arr.length; i++) {
    if (arr[i] > 3) {
        arr1[arr1.length] = arr[i];
    }
}
console.log(arr1); // [4,5]

数组去重(删除指定数组元素)

// 删除所有的0
let arr = [1,0,2,0,2,0,0,3];
let arr1 = [];
for (let i = 0; i < arr.length; i++) {
	if (arr[i] != 0) {
		arr1[arr1.length] = arr[i];
	}
}
console.log(arr1); // [1,2,2,3]

翻转数组

let arr = [1, 2, 3, 4, 5];
let arr1 = [];
for (let i = arr.length - 1; i >= 0; i--) {
    arr1[arr1.length] = arr[i];
}
console.log(arr1); // [5,4,3,2,1]

冒泡排序

冒泡排序,数组[5,4,3,2,1]
冒泡排序

let arr = [5,4,3,2,1];
for (let i = 0; i <= arr.length - 1; i++) { // 外层循环管趟数
	for (let j = 0; j <= arr.length - i - 1; j++) { // 里层循环管每一趟的交换次数
		// 内部交换2个变量的值,前一个和后一个数组元素相比较
		if (arr[j] > arr[j + 1]) {
			let temp = arr[j];
			arr[j] = arr[j + 1];
			arr[j + 1] = temp;
		}
 	}
}
console.log(arr); // [1,2,3,4,5]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值