配列の一般的な方法

7433 ワード

配列の一般的な方法
  • 学習の考え方:4つの次元を通じて
  • 法の作用
  • 伝参
  • が必要かどうか
  • 戻り値
  • があるかどうか
  • 元配列が変化する
  • 配列の一般的な方法
  • 配列の方法はあります:配列の増加、削除、置換、つなぎ合わせ、配列の回転文字列、配列の反転、クローン、切り取り、並べ替え、遍歴
      var ary=["red","blue","green"]
    
  • 配列の増加-push()
  • の役割:配列の末尾に
  • を追加する
  • パラメータ:実パラメータが必要
  • 戻り値:配列の長さ
  • 元配列が変化する
  •   let reg = ary.push("yellow");
         :console.log(ary); //["red", "blue", "green","yellow"]
         :console.log(reg);//4
    
  • unshift()
  • の役割:配列の先頭に
  • を追加する
  • パラメータ:実パラメータが必要
  • 戻り値:配列の長さ
  • 元配列が変化する
  •   let reg = ary.unshift("yellow");
         :console.log(ary); // ["yellow", "red", "blue", "green"]
         :console.log(reg);//4
    
  • splice(index,0,追加する内容)
  • 作用:
  • 増加
  • パラメータ:(インデックス、0個削除、追加する内容)
  • 戻り値:[]空の配列
  • 元配列が変化する
  • 追加するときはインデックスの前に追加します
      let reg = ary.splice(0,0,"  ");
      //let reg = ary.splice(ary.length,0,"  ");//       
         :console.log(ary);//["  ", "red", "blue", "green"]
         :console.log(reg);//[]
    
  • 配列の削除-shift()
  • の役割:配列の先頭の
  • を削除します.
  • パラメータ:パラメータを必要としない
  • 戻り値:削除された
  • 元配列が変化する
  •   let reg = ary.shift();
         :console.log(ary); // [ "blue", "green"]
         :console.log(reg);//red
    
  • pop()
  • の役割:配列の末尾の
  • を削除します.
  • パラメータ:パラメータを必要としない
  • 戻り値:削除された
  • 元配列が変化する
  •   let reg = ary.pop();
         :console.log(ary); // [ "red",blue"]
         :console.log(reg);// green
    
  • splice(index,2)
  • の役割:指定したインデックスからいくつか削除します.
  • パラメータ:(インデックス、いくつか削除)
  • 戻り値:削除されたコンテンツを新しい配列として
  • 戻ります.
  • 元配列が変化する
  •   let reg = ary.splice(0, 2);
      //let reg = ary.splice(ary.length-1,1);//        
         :console.log(ary);//["green"]
         :console.log(reg);//["red", "blue"]
    
  • 配列の置換
  • splice(index、いくつか削除して、置換する内容)//いくつか削除して0にすることができなくて、0つを削除するのが追加したのなためです
  • の役割:指定したインデックスから、いくつかを削除し、置換する内容を置き換えます.splice(index,deleteCount,'aaa','hhh')
  • パラメータ:3つのパラメータ
  • 戻り値:削除されたコンテンツは、
  • を新しい配列で返す.
  • 元配列が変化する
  •   let reg = ary.splice(0, 2,"  ","  ");
         :console.log(ary);//["  ", "  ", "green"]
         :console.log(reg);//["red", "blue"]
    

  • 配列のクローン
  • splice(0)
  • 作用:クローンは、実は元の配列を削除し、戻り値は削除した元の配列の内容である.
  • パラメータ:パラメータ0
  • 戻り値:削除されたコンテンツを新しい配列として
  • 戻ります.
  • 元配列が変化する
  •   let reg = ary.splice(0);
         :console.log(ary);//[]
         :console.log(reg);//["red", "blue", "green"]
    
  • concat()
  • 作用:クローン
  • パラメータ:空
  • 戻り値:クローンされたコンテンツを新しい配列で
  • 戻ります.
  • 元配列:不変
  •   let reg = ary.concat();
         :console.log(ary);//["red", "blue", "green"]
         :console.log(reg);//["red", "blue", "green"]
    
  • slice(0または空)
  • 作用:クローン
  • パラメータ:0または空
  • 戻り値:クローンされたコンテンツを新しい配列で
  • 戻ります.
  • 元配列:不変
  •   let reg = ary.slice();
      //let reg = ary.slice(0);
         :console.log(ary);//["red", "blue", "green"]
         :console.log(reg);//["red", "blue", "green"]
    

  • 配列の検索/切り取り
  • slice(n,m)
  • の役割:インデックスnからインデックスmを検索し、前後
  • を含まない.
  • パラメータ:2つの
  • 戻り値:検索されたコンテンツは、新しい配列で
  • 戻ります.
  • 元配列は変化しない
  •   let reg = ary.slice(0,2);
         :console.log(ary);//["red", "blue", "green"]
         :console.log(reg);//["red", "blue"]
    

    面接問題:配列中の[n,m]項目slice(n-1,m) // n n-1,m m-1, slice ,m-1+1を見つける

  • 配列の接合
  • concat()
  • 作用:接合/クローン配列
  • パラメータ:不確定で、つなぎ合わせていくつかの配列名を書いて、直接配列形式
  • に書くことができます
  • 戻り値:結合された新しい配列
  • 元配列は変化しない
  •   let reg = ary.concat("  ","  ");
         :console.log(ary);//["red", "blue", "green"]
         :console.log(reg);// ["red", "blue", "green", "  ","  "]
    
     let ary1 = ["red", "blue", "  "];
     let reg = ary.concat(ary,ary1);
        :console.log(ary);//["red", "blue", "green"]
        :console.log(reg);// ["red", "blue", "green","red", "blue", "green", "  "]
    

  • 配列回転文字列
  • toString()
  • の役割:配列を文字列に変換し、デフォルトでは
  • を','で分割します.
  • パラメータ:
  • なし
  • 戻り値:カンマで区切られた文字列
  • 元配列は変化しない
  •   let reg = ary.toString();
      console.log(ary);//["red", "blue", "green"]
      console.log(reg);// red,blue,green
      console.log(typeof reg);//string
    
  • join()
  • の役割:配列を文字列
  • に変換する
  • パラメータ:分割形式
  • 戻り値:分割形式で分割する文字列
  • 元配列は変化しない
  •   let reg = ary.join();
      console.log(ary);//["red", "blue", "green"]
      console.log(reg);// red,blue,green
      console.log(typeof reg);//string
    
      let reg = ary.join("+");
      console.log(ary);//["red", "blue", "green"]
      console.log(reg);// red+blue+green
      console.log(typeof reg);//string
    

  • 配列の反転
  • reverse()
  • 作用:配列反転
  • パラメータ:
  • なし
  • 戻り値:反転された配列
  • 元配列が変化する
  •   let ary = [" ", " ", " "];
      let reg = ary.reverse();
      console.log(ary);//[" ", " ", " "]
      console.log(reg);// [" ", " ", " "]
    

  • 配列ソート
  • sort
      ary.sort(function(a,b){
          return b-a;//      
          //return b-a;//      
      })
    

  • 配列でよく使用されるが互換性のない方法
  • indexOf()
  • 機能:コンテンツの検索
  • パラメータ:検索するコンテンツ
  • 戻り値:戻りコンテンツに対応するインデックスが見つかった場合、戻り-1
  • が見つからなかった場合.
  • 元配列不変
  •   let ary = [" ", " ", " "];
      let reg = ary.indexOf(" ");
      console.log(ary);//[" ", " ", " "]
      console.log(reg);// 0
    
      let ary = [" ", " ", " "];
      let reg = ary.indexOf(" ");
      console.log(ary);//[" ", " ", " "]
      console.log(reg);// -1
    

  • forEach(callback,thisArg)
  • の役割:配列
  • を巡回するために使用される
  • パラメータ:2つ、1つ目はコールバック関数、2つ目はthisを変更する
  • 戻り値:undefined戻り値
  • なし
  • 元配列不変
  • var ary=[10,20,30,40];
    ary.forEach(function(item,index,input){
      
    })
    
  • map()
  • はforEachと同様にmapに戻り値
  • がある.
  • 非配列メソッド
  • 配列の末尾に追加
  • ary[arr.length]=xxx
      var ary=[1,2,3];
      ary[ary.length]=4;
      console.log(ary)//[1,2,3,4]
    

  • 配列の最後の項目を削除
  • ary.length--
  • ary.length-=1
  • ary.length=ary.length-1

  • 配列クローンの実装
  • forサイクル
  •   var ary=[1,2,3];
      var ary1=[]
      for(var i=0; i