w的學習筆記04.(2019年1月10日)

今天學習的內容
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:圖形

算法

相關文章
相關標籤/搜索