今天學習的內容
1:複習上次課
for
while
數組 數組名.length 下標
var arr=[23,45,67];
var a = arr[arr.length-1];
for(;;){}
while(true){}
=============================================================================================
今天新的內容 數組的相關方法
今天新的內容
#新學習數組相關方法
一、join *****
功能:將數組拼接字符串
示例:
var arr = ['abc','bcd','a11'];
-->"abcbcdea11"
var word = arr.join(分隔符);
示例:
var provs = ["北京市","天津市","瀋陽市"];
<select><option>
北京市
</option><option>
天津市
</option><option>
瀋陽市
</option></select>
二、鏈接數組.. ***
#不修改原數組內容,返回新數組
#在程序必需要用新變量接收新數組
數組.concat(值1,值2....,數組);
三、獲取子數組 *****
數組.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);
四、顛倒數組元素順序 ***
#reverse()
五、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);
七、棧和隊列: *****
一種特殊數組:一端封閉,只能從另外一端進出數據..
#很是靈活..
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:圖形
算法