JavaScript配列の基本操作--追加、削除、切り取り、置換


メソッドディレクトリ
  • スタック、キュー操作
  • プッシュする
  • ポップ
  • unshift
  • シフト
  • 切り取り置換
  • slice
  • splice
  • メソッドの特性
    配列操作の各方法については、以下の3つの特性に注目したい.
  • は、元の配列
  • を操作していますか?
  • 戻り値
  • リレーのパラメータ
  • スタック、キュー操作push()配列の末尾に要素を追加します.
  • 直接操作元配列
  • 戻り値:追加後配列を実行する長さ
  • パラメータ:el(追加する要素)
  • //    
    var arr = [132, 645, 561];
    //   pop()  , value <==    
    var value = arr.push(789);
    //       --    
    console.log(arr); // [132, 645, 561, 789]
    //       --    
    console.log(value); // 4
    pop()配列の最後に要素を削除します.
  • 直接操作元配列
  • 戻り値:削除された要素
  • パラメータ:なし
  • //    
    var arr = [132, 645, 561];
    //   pop()  , value <==    
    var value = arr.pop();
    //       --    
    console.log(arr); // [132, 645]
    //       --    
    console.log(value); // 561
    unshift()配列のヘッダに要素を追加します.
  • 直接操作元配列
  • 戻り値:追加後配列を実行する長さ
  • パラメータ:el(追加する要素)
  • //    
    var arr = [132, 645, 561];
    //   unshift()  , value <==    
    var value = arr.unshift(789);
    //       --    
    console.log(arr); // [789, 132, 645, 561]
    //       --    
    console.log(value); // 4
    console.log(value === arr.length); // true
    shift()配列のヘッダから要素を削除します.
  • 直接操作元配列
  • 戻り値:削除された要素
  • パラメータ:なし
  • //    
    var arr = [132, 645, 561];
    //   push()  , value <==    
    var value = arr.push(789);
    //       --    
    console.log(arr); // [561, 789]
    //       --    
    console.log(value); // 132
    切り取り置換slice()配列の要素を切り取ります.
  • は、元の配列
  • を変更しません.
  • 戻り値:切り取られた要素からなる新しい配列
  • パラメータ:start、end
  • start:必須、切り取りの開始位置(インデックス値)
  • end:オプションで、切り取りの終了位置
  • パラメータと解釈
  • インデックス値startから始まり(第start個の要素を含む)、endの前のビット(end番目の要素を含まない)
  • まで切り取ります.
  • startまたはendが負の値であれば、最後から第startの要素から
  • を開始する.
    パラメータの可能性
  • slice(2,4)=>start
  • slice(2,1)=>start>end
  • slice(2、-2)=>endはマイナス
  • である.
  • slice(-3、-1)=>startとendはマイナス
  • です.
  • slice(3)=>正のパラメータしかない
  • slice(-3)=>負のパラメータしかない
  • //    
    var arr = ["CSS", "JavaScript", "Vue", "React", "Nodejs"];
    
    // 1. start < end
    console.log(arr.slice(2, 4)); //     -- ["Vue", "React"]
    
    // 2. start > end
    console.log(arr.slice(2, 1)); // []
    
    // 3. end    
    console.log(arr.slice(2, -2)); //     -- ["Vue"]
    
    // 4. start   end     
    console.log(arr.slice(-3, -1)); //     -- ["Vue", "React"]
    
    // 5.           (start)
    console.log(arr.slice(3)); //     -- ["React", "Nodejs"]
    
    // 6.           (start)
    console.log(arr.slice(-3)); //     -- ["Vue", "React", "Nodejs"]
    
    //          ,   --    
    console.log(arr); //     -- ["CSS", "JavaScript", "Vue", "React", "Nodejs"]
    splice()切り取り、削除、置換、配列要素の増加
  • 直接操作元配列
  • 戻り値:削除された要素からなる新しい配列
  • パラメータ:start、length、elements
  • start:必須、削除の開始位置(インデックス値)
  • length:オプションで、要素の長さ
  • を削除します.
  • elements:オプションで、置換する要素の数は
  • に制限されません.
    パラメータ解釈
  • は、インデックス値startから始まり(startを含む)、length個の長さの要素
  • を削除する.
  • .startが負の値であれば、最後から第startの要素から
  • を削除する.
  • length>=0は、lengthを転送しないと末尾
  • に削除されます.
  • 追加であれば、lengthは転送されなければならず、length=0
  • もし置換されているなら、lengthは転送されなければならず、length>=0
  • elementsがあれば、startから順にelementsを配列
  • に追加します.
    パラメータの可能性
  • 削除
  • splice(2,2)=>start>0があり、lengthがあり、一般的な方法は
  • である.
  • splice(-3,2)=>start<0、length
  • があります.
  • splice(2)=>start>0は、length
  • はありません.
  • splice(-2)=>start<0、length
  • がありません.
  • 追加
  • splice(2,0,jQuery,Anglar)=>インデックス値が2の位置に、後の要素
  • を挿入します.
  • 置換
  • splice(2,1,「Type Scripy」,「Electron」)=>インデックス値2から1つの要素を削除し、この位置に後の要素
  • を挿入します.
    //    
    var arr = ["CSS", "JavaScript", "Vue", "React", "Nodejs"];
    
    //   、  
    //      
    console.log(arr.splice(2, 2)); // ["Vue", "React"]
    //           
    console.log(arr); // ["CSS", "JavaScript", "Nodejs"]
    
    console.log(arr.splice(-3, 2)); // ["Vue", "React"]
    console.log(arr); // ["CSS", "JavaScript", "Nodejs"]
    
    console.log(arr.splice(2)); // ["Vue", "React", "Nodejs"]
    console.log(arr); // ["CSS", "JavaScript"]
    
    console.log(arr.splice(-2)); // ["React", "Nodejs"]
    console.log(arr); // ["CSS", "JavaScript", "Vue"]
    
    //   
    console.log(arr.splice(2, 0, "jQuery", "Angular")); // []
    console.log(arr); // ["CSS", "JavaScript", "jQuery", "Angular", "Vue", "React", "Nodejs"]
    
    //   
    console.log(arr.splice(2, 1, "TypeScripy", "Electron")); // ["Vue"]
    console.log(arr); // ["CSS", "JavaScript", "TypeScripy", "Electron", "React", "Nodejs"]