w的學習筆記04.(2019年1月10日)
今天學習的內容
1:複習上次課
for
while
陣列 陣列名.length 下標
var arr=[23,45,67];
var a = arr[arr.length-1];
for(;;){}
while(true){}
=============================================================================================
今天新的內容 陣列的相關方法
今天新的內容
#新學習陣列相關方法
1、join *****
功能:將陣列拼接字串
示例:
var arr = ['abc','bcd','a11'];
-->"abcbcdea11"
var word = arr.join(分隔符);
示例:
var provs = ["北京市","天津市","瀋陽市"];
<select><option>
北京市
</option><option>
天津市
</option><option>
瀋陽市
</option></select>
2、連線陣列.. ***
#不修改原陣列內容,返回新陣列
#在程式必須要用新變數接收新陣列
陣列.concat(值1,值2....,陣列);
3、獲取子陣列 *****
陣列.slice(開始位置,結束+1);
開始位置
結束位置 支援負數
#如果你傳入負數:自動 length負數
var id = [1,1,0,1];
var rs = id.slice(1,3);
console.log(rs);
var id = [1,1,0,1];
var rs = id.slice(-3,-1);
//id.length-3 = 1
//id.length-1 = 3
rs = id.slice(1,3);
console.log(rs);
4、顛倒陣列元素順序 ***
#reverse()
5、splice() 刪除元素 新增元素 替換元素 *****
a:刪除
var arr = [1,2,3,4,5];
var del = arr.splice(開始位置,刪除幾個);
var del = arr.splice(3,2);
b:插入
arr.splice(開始位置,0,99,100,101);
c:
arr.splice(開始位置,1,2,3);
6排序 *****
6.1:手寫排序演算法
冒泡 選擇 插入 ...
6.2:呼叫js陣列自帶方法 sort();
var arr = [1,9,10,2,3];
var arr = [1,2,3,9,10];
#sort方法排序時按照.預設unicode
#由sort方法預設按照unicode排序
#按數字排序
1:二個比較 小數放前 return 負數 a-b
2: 二個比較 大數放後 retrun 正數 b-a
3: 二個比較 相同 return 0
#寫一個方法定義排序規則
function comp(a,b){
if(a<b){
return -1;
} -------------------------->retun a-b;
if(a>b){
return 1;
}
if(a==b){
return 0;
}
}
arr.sort(comp);
7、棧和佇列: *****
一種特殊陣列:一端封閉,只能從另一端進出資料..
#非常靈活..
var arr = [1,2,3];
先進後出..
如何使用:
1:入 arr.push(值);
2:出 var last = arr.pop();
開頭封閉,結尾出入棧
出棧入棧不影響原有元素下標
1:結尾封閉,開頭出入棧
入:arr.unshift(值);
出:var first = arr.shift();
#每次出棧入棧,都影響所有元素下標{慢}
陣列:
1:var arr = [];
arr[0];
2:push() pop();
練習:
var arr = [];
1:請使用者輸入單詞
var input = prompt('請輸入單詞');
while(input != 'exit'){
2:儲存陣列
arr.push(input);
input = prompt('請輸入單詞');
}
3:以上二步操作迴圈
4:如果使用者輸入 exit 迴圈退出
5:輸出所有陣列中儲存單詞
console.log(arr.toString());
#特殊陣列
#資料結構[棧,佇列]
#佇列:只能從一端進入,必須從另一端出
如何使用:
結尾入佇列: arr.push(值); pop
開頭出佇列: arr.shift(); shift
#二維陣列
陣列中的元素,又引用另一個子陣列;
何時使用:
1:只要儲存橫行豎列的二維陣列
2:儲存上下級包含關係
如何定義二維陣列:
1:建立同時,就要初始化
var arr = [
[0,2,0,0],
[4,4,8,0],
[0,0,0,0],
[0,0,0,0]
];
arr[0][1];
arr[1][0];
arr[1][2];
2:先建立一維陣列,再賦值
var arr1 = [];
arr1[0] = [1,3,5,7,9];
arr1[1] = [2,4,6,8,10];
#遍歷陣列,使用迴圈完成
1:for(){}
2:for(){}多層for
#二層迴圈
document.write("*");
今天內容
1:資料常用方法
join(); 將陣列拼接字串
concat(); 將多個數據拼接成一個大陣列
slice(); 獲取子陣列
splice(); 刪除陣列新增陣列
2:二維陣列
var arr =
[
[1,2,3],
[2,4,6]
];
var arr = [];
arr[0] = [1,2,3,4];
arr[1] = [2,3,4,5];
3:二層迴圈
外層迴圈 控制行
內層迴圈 控制列
4:圖形