數(shù)組基礎(chǔ)
創(chuàng)建一個空數(shù)組:
var arr = new Array(); // 利用構(gòu)造函數(shù)創(chuàng)建數(shù)組
var arr = []; // 利用數(shù)組字面量創(chuàng)建數(shù)組
數(shù)組里的元素可以是任意類型:
var arr1 = [1, 2, 'red', false];
通過索引獲取數(shù)組元素:
console.log(arr1[0]); // 索引下標(biāo)從0開始
console.log(arr1[2]);
如何遍歷數(shù)組:
for(var i = 0; i < 4; i++){
console.log(arr1[i]);
}
如何獲取數(shù)組長度:
console.log(arr1.length);
算法:如何取出數(shù)組中的最大值:
var arr2 = [2, 5, 8, 3 ,11 ,9 ,4];
var max = arr2[0];
for(var i = 0; i < arr2.length; i++){
if(arr2[i] >= max){
max = arr2[i];
}
}
console.log('the max number is:' + max);
數(shù)組轉(zhuǎn)換為字符串:
var arr3 = ['red', 'yellow', 'green']
var str = '';
for(var i = 0; i < arr3.length; i++){
str += arr3[i] + ' '; // 隱式轉(zhuǎn)換
}
console.log(str);
數(shù)組中新增元素:
arr3.length++; // 修改數(shù)組長度擴(kuò)容
arr3[arr3.length - 1] = 'blue';
console.log(arr3);
或者
arr3[arr3.length] = 'pink'; // 直接追加數(shù)組元素
console.log(arr3);
數(shù)組排序
刪除指定的數(shù)組元素:
// 刪除0元素,整合為新的數(shù)組
var arr = [2, 6, 0, 5, 9, 0, 11, 7, 0, 15];
var newArr = []; // 創(chuàng)建新數(shù)組用于接收篩選后的數(shù)組元素
for (var i = 0; i < arr.length; i++) {
if (arr[i] == 0) {
continue;
}
newArr[newArr.length] = arr[i];
}
console.log(newArr);
翻轉(zhuǎn)數(shù)組:
var reversArr = [];
for (var i = newArr.length - 1; i >= 0; i--) {
reversArr[reversArr.length] = newArr[i];
}
console.log(reversArr);
冒泡排序法
// 一次比較相鄰兩個元素矾克,若順序不對則進(jìn)行調(diào)換丘薛,以此類推
var arr1 = [5, 9, 6, 22, 4, 3, 8, 12, 68];
console.log(arr1);
var temp = 0;
for (i = 0; i <= arr1.length - 1; i++) {
for (j = 0; j <= arr.length - 1 - i; j++) {
if (arr1[j] > arr1[j + 1]) {
temp = arr1[j];
arr1[j] = arr1[j + 1];
arr1[j + 1] = temp;
}
}
}
console.log(arr1); // 輸出結(jié)果從小到大排序
/*
3,
4,
5,
6,
8,
9,
12,
22,
68
*/