JSサーバー端開発基本編(Aray.slice方法とsplice方法)


Aray.slice方法とsplice方法は多くのJS配列の中で比較的に複雑な方法であり、覚えやすいです.ネット上の多くの資料を検索しましたが、システムのまとめが見つかりませんでした.特に次のように要約します.不完全なところは皆さんに指摘してもらいたいです.
 一、sliceの方法
書式:
arrayObj.slice(start,[end])
機能:指定された配列のサブアレイを返します.元の配列は変更されません.
パラメータ:
start:必要です.arrayObjの指定部分の先頭.
end:オプションです.arrayObjの指定部分の末尾.
 
配列の使用から,この方法はストリング動作におけるsubstr関数と類似している.しかし、パラメータがマイナスの場合は複雑です.
詳細は以下のコード例を参照してください.
var a 1=[1,3,5,7,9]
var n 1=a 1.slice(0)//n 1=>[1,3,5,7,9]効果はa 1.slice(0,5)と同じです.
var n 1=a 1.slice(1)//n 1=>[3,5,7,9]
var m 1=a 1.slice(0,2) //m 1=>[3,5],2はサブストリングの長さを表します.
var m 1=a 1.slice(0,5)//m 1=>[1,3,5,7,9]を表し、5はサブストリングの長さを表します.
var m 1=a 1.slice(0,15)//m 1=>[1,3,5,7,9]は、15が最大長より大きく、再作用しない
var m 1=a 1.slice(0、-1)//m 1=>[1,3,5,7]
var m 1=a 1.slice(0、-2)//m 1=>[1,3,5]
var m 1=a 1.slice(0、-5)//m 1=>[]
var m 1=a 1.slice(0、-15)//m 1=>[]
var n 2=a 1.slice(-1)//n 2=>[9]
var n 3=a 1.slice(-2)//n 3=>[7,9]
var nx=a 1.slice(-5)//nx=>[1,3,5,7,9]
var ny=a 1.slice(-10)//ny=>[1,3,5,7,9]
 [1,2,3,4,5,6,7,8,9].slice(-5)/=>[5,6,7,8,9]
[1,2,3,4,5,6,7,8,9].slice(-5,-1)/=>[5,6,7,8]
[1,2,3,4,5,6,7,8,9].slice(-5,-3)/=>[5,6]
[1,2,3,4,5,6,7,8,9].slice(-5,-10) //=>[]
[1,2,3,4,5,6,7,8,9].slice(-5,0)/=>[]
[1,2,3,4,5,6,7,8,9].slice(-5,1)/=>[]
上記コードの断片はsliceメソッドのすべての使用状況をまとめました.
(1)start>=0:
               ①    パラメータendがない場合は、元の配列からインデックス番号startから最後の要素までのサブアレイを返します.
               ②    パラメータend>=0の場合、インデックス番号startから開始するend個の要素のサブアレイを元の配列から返します.このとき、end>配列が最大長であれば、length個の要素からなるサブアレイを返します.
(2)start<0:
              ①    パラメータendがないときは、元の配列の末尾から、要素のサブアレイを切り取ります.このとき、グループの最大長さが、レングス要素からなるサブアレイが返される.
              ②    パラメータend<0の場合、パラメータendがないときから得られたサブストリング、例えばsub 1の場合、末尾は、124 end 124の要素をカットする.このとき、サブアレイは、124 end 124>sub 1.lengthのときに返される.
              ③    パラメータend>=0の場合は、サブアレイを返します.
二、spliceの方法
書式:
       arrayObject.splice(index,howmany,item1,.....,itemX)

  :splice()  / / , 。      
         ,    /       ,               。
               。      0,       。
       
       :  Array             ,     。
        :   splice()        index            ,                            。
                        arrayObject       ,                。
詳細は以下のコード例を参照してください.
        var arr=[1,2,3,4,5,6]; 
        var arr2=arr.splice(2,4); 
        console.log("arr2=",arr2,",arr=",arr);    //arr2= [3, 4, 5, 6] ,arr= [1, 2]