目录
前言
今天分享关于数组的知识
一、什么是数组?
数组是一组数据的集合。把一组数据存储到单个变量名下
二、数组相关操作
1.数组创建方式
1). 通过new关键字创建
var arr = new Array(); //创建了一个空的数组
var arr = new Array(2); //一个值表示数组的长度
var arr = new Array(1,3); // 创建了一个数组 [1,3]
2). 通过字面量方式创建
var arr = []; //创建了一个空的数组
注意:数组里的数据用英文 ,隔开/
2.数组索引
数组的索引是从0开始排列的,可以通过索引来访问、增加、修改数组元素
获取数组元素的方式:数组名[索引值]
var arr1 = [1, 2, 'nihao'];
console.log(arr1);
console.log(arr1[0]); // 1
console.log(arr1[ 1]); // 2
console.log(arr1[2]); // nihao
console.log(arr1[3]); // undefined 因为没有这个数组元素,所以输出的结果是undefined
3.数组遍历
把数组中所有的元素从头到尾访问一次
var arr = ['red', 'greed', 'yellow'];
for (var i = 0; i < 3; i++) {
console.log(arr[i]);
}
4.数组长度
数组的长度:数组名 .length,用于动态的获取数组的长度
var arr = ['red', 'greed', 'yellow'];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
注:数组的长度等于数组元素的个数
5.数组中新增元素
1.) 通过修改length长度新增数组元素
可以通过修改length长度来实现数组扩容的目的
length属性是可读写的
var arr4 = ['red', 'green', 'blue', 'pink'];
console.log(arr4.length);
arr4.length = 5; // 数组长度增加到5
console.log(arr4);
console.log(arr4[4]); // 因为最后一个数组元素为空,所属是undefined
2.) 通过修改数组索引来新增数组元素
var arr = [1, 2, 3, 4];
arr[4] = 5;
console.log(arr);
arr[0] = '你好'; //替换原有的数据元素
console.log(arr);
注意:不要给数组名元素,否则会替换掉整个数组
6. 数组去重
将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,形成一个不含0的新数组
var arr3 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArray1 = [];
for (i = 0; i < arr3.length; i++) {
if (arr3[i] != 0) {
newArray1[newArray1.length] = arr3[i];
}
}
console.log(newArray1);
7. 数组翻转
将数组['red','green','blue','pink']的内容反过来。 输出['pink','blue','green','red']
var arr5 = ['red', 'green', 'blue', 'pink'];
var newArray2 = [];
for (var i = arr5.length - 1; i >= 0; i--) {
newArray2[newArray2.length] = arr5[i];
}
console.log(newArray2);
8. 冒泡排序
可以让一系列数据元素按照从小到大或者从大到小排序。
原理:一次比较两个数据元素,如果顺序错误就颠倒过来。
可以分为两个步骤
1、每个元素交换了多少趟:arr.length-1
2、每趟交换了多少次 : arr.length -i -1
var arr = [5, 4, 3, 2, 1];
for (i = 0; i < arr.length - 1; i++) { //外层循环负责趟数
for (j = 0; j < arr.length - i - 1; j++) { //内层循环负责交换每一趟的次数
// 内部交换两个元素的值,前一个和后一个相比较
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
总结
以上是今天分享的关于数组中的基本用法。
”pink“的含义是:拼尽全力!克服困难!