JavaScript—数组
数组的概念
数组是指一组数据的集合,其中的每一个数据称作元素在数组中可以存放任意类型的元素。
数组是一种将一组数据存储在单个变量名下的方式。
创建数组
创建数组
var arr = new Array();// 使用new 创建一个空数组
var arr0 = []; //利用数组字面量创建数组
var arr1 = [0, 1, '20', '30'];
console.log(arr1);
数组的索引(下标):用来访问数组元素的序号(数组下标从0开始)。
遍历:就是把数组中每一个元素从头到尾访问一边。
数组的长度
使用“数组名.length”可以访问数组元素的数量(数组长度)。
arr.length动态监测数组元素的个数。
获取数组长度
var arr = ['00', '11', '22', '33', '44', '55,', '66', '77', '88,', '99', '....'];
console.log(arr.length);//输出数组长度
数组的简单应用
var arr = ['00', '11', '22', '33', '44', '55,', '66', '77', '88,', '99', '....'];
var max = arr[0];
console.log('数组长度为' + arr.length);
for (var i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
console.log('其中最大值为' + max);
数组转换为字符串
var arr = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr'];
var str = '';
for (var i = 0; i < arr.length; i++) {
str += arr[i] + ',';
}
console.log(str);
新增数组元素
var arr = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr'];
arr.length = 10;// 修改数组长度为10,里面理应有10个元素
console.log(arr[7]);// undefined
console.log(arr[8]);// undefined
var arr1 = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr'];
arr1[6] = 'stu'; // 追加数组元素
arr1[0] = 'xyz'; // 替换数组元素
console.log(arr1);
arr1 = 'example'; // 直接给数组名赋值会覆盖以前的数据
console.log(arr1);
数组存放1-10个值
var arr = [];
for (var i = 0; i < 10; i++) {
arr[i] = i + 1;
}
console.log(arr);
数组筛选
var arr = ['1', '7', '4', '4', '3', '2', '9', '0'];
var arr1 = [];
var j = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] > 5) { //筛选大于5的数
arr1[j] = arr[i]; //将大于5的书存放到新数组
j++;
}
}
console.log(arr1);
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
数组冒泡排序
var arr = [3, 1, 4, 2, 5];
for (var i = 0; i <= arr.length; i++) { //外层循环趟数
for (var 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);
//方法2
/*
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
// 测试
var arr = [3, 1, 4, 2, 5];
console.log(bubbleSort(arr)); // [1, 2, 3, 4, 5]
*/