/*
數組:一個變量來存儲一系列的值。
定義語法:
- 常規方式
- 簡潔方式
- 最簡潔方式
*/
var names = new Array();
names[0] = '張三';
names[1] = '李四';
names[2] = '王五';
var names = new Array('張三','李四','王五');
var names = ['張三','李四','王五','劉7'];
索引:用下標去訪問
document.write(names[2]);
更新:把某個位置的元素的值更改
names[2] = '王六';
document.write(names[2]);
整體輸出
document.write(names);
遍歷:從頭到位一個個的使用
for ( var i = 0; i < names.length; i++){
// document.write(names[i] + "<br/>");
//把names數組裏的所有元素更新爲 xiaoming
names[i] = 'xiaoming';
}
document.write(names);
添加元素
names[4] = 'xiaoming';
document.write(names);
刪除:刪除最後一個 pop()
document.write(names.length + "<br/>");
document.write(names + "<br/>");
names.pop();
names.pop();
document.write(names.length + "<br/>");
document.write(names + "<br/>");
通過值獲取到下標
var i = names.indexOf('王五');
document.write(i);
var numbers = [11,22,33,777,44,55,66];
1、用三種方式定義一個數組,賦值爲:11,22,33,777,44,55,66,
並利用循環輸出顯示數組裏的所有值(實現數組的遍歷)。
2、基於上題,求出所有數組的元素之和。
var numbers = [11,22,33,777,44,55,66];
var sum = 0;
for (var i = 0; i < numbers.length; i++){
// sum = sum + i;
sum = sum + numbers[i];
}
document.write(sum);
// 3、基於上題,實現數組的倒序輸出。
var numbers = [11,22,33,777,44,55,66];
for ( var i = numbers.length - 1; i >= 0; i--){
document.write(numbers[i] + "<br/>");
}
// 4、獲取數組中的最大值(或最小值),並輸出顯示。
var numbers = [11,22,343,33,777,44,7,55,66];
//擂主。
var max = numbers[0];
for ( var i = 1; i < numbers.length; i++){
//循環打擂臺
if ( max < numbers[i]){
max = numbers[i];
}
// document.write("max:" + max + ", numbers[" + i + "]:" + numbers[i] +"<br/>");
}
document.write(max);
//刪除某個位置開始的幾個元素
var numbers = [11,22,343,33,777,44,7,55,66];
numbers.pop();
numbers.splice(2,4);
document.write(numbers);
連接
var numbers01 = [1,2,3];
var numbers02 = [10,20,30];
var numbers = numbers01.concat(numbers02);
document.write(numbers + "<br/>");
document.write(numbers.length);
1、不藉助於其他數組,將數組倒序存放,例如:
原始: 11,22,33,777,44,55,66
結果: 66,55,44,777,33,22,11
交換算法:利用一箇中間變量
var a = 10;
var b = 20;
var temp = 0;
temp = a; // temp 10 a 10 b 20
a = b; // temp 10 a 20 b 20
b = temp; //temp 10 a 20 b 10
var myArray = [11,22,33,777,44,55,66,6];
//for循環交換,次數是一半
for (var i = 0; i < myArray.length/2; i++){
//交換 myArray[i] myArray[myArray.length - 1 -i]
var temp = myArray[i];
myArray[i] = myArray[myArray.length - 1 -i];
myArray[myArray.length - 1 -i] = temp;
}
document.write(myArray);
/*
1:i 0 交換雙方: myArray[0] myArray[6]
2:i 1 交換雙方: myArray[1] myArray[5]
3:i 2 交換雙方: myArray[2] myArray[4]
4:i 3 交換雙方: myArray[3] myArray[3]
*/
2、數組爲var arr=[‘蝸牛’,’百度’,’谷歌’,’騰訊’];刪除數組中的第二個元素,
不要用現成的splice(1,1)。
var arr=['蝸牛','百度','谷歌','騰訊'];
//表示要刪除的元素的下標
var index = 0;
for ( var i = index; i < arr.length - 1; i++){
//把後一個元素賦給前一個元素。
arr[i] = arr[i+1];
document.write(arr + "<br/>");
}
arr.pop();
document.write("最終結果:" + arr + "<br/>");
3、對數字數組進行升序排序算法。
var myArr = [120,34,55,90,31,4,200,44];
var myArr = [120,34,55,90,31,4,200,44];
//排序算法很多種:冒泡排序 - 兩兩比較,進行交換
for ( var i = 0; i < myArr.length -1; i++){
for ( var j = 0; j < myArr.length - 1 - i; j++){
//兩兩比較,交換
if ( myArr[j] > myArr[j+1]){
//交換
var temp = myArr[j];
myArr[j] = myArr[j+1];
myArr[j+1] = temp;
}
// document.write("第<" + (j+1) + ">次:" + myArr + "<br/>");
}
}
document.write(myArr + "<br/>");
實現了將最大的頂到了最後一個位置