JavaScriptの中のslice()とsplice()

2049 ワード

slice()とsplice()はJavaScriptのArayオブジェクトの原型の二つの方法です.方法名が非常に似ていますので、よく両者の役割を覚えます.次は明確な区別をします.
 
1.slice(start[,end]):
配列から要素を取り、取り出されたサブアレイを返します.元の配列に影響はありません.その中で、startパラメータは必ず記入して、元素を取る開始位置を表します.endパラメータは選択可能で、要素を取る終了位置を表しますが、array[end]要素は含まれていません.(最終的に取り出した配列の中の要素はend-start個があると理解できます.endが空であれば、デフォルトは次のようになります. array.lengh.いくつかの例を見ます
var numArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numArray.slice(5) //   [5, 6, 7, 8, 9]
numArray.slice(5, 6) //   [5]
numArray //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]        
注:
slice()も同様にStering.prototypeの方法であり、受信したパラメータはAray.prototype.slice()と同じで、切り取り後の文字列を返します.元の文字列は影響を受けません.splice()方法はAray.prototypeにありません.
2.splice(start[,number,item 1,item 2,…,itemen]):
配列に要素を追加/削除し、削除された要素を返します.元の配列に影響があります.その中で、startパラメータは必ず記入し、操作を行う開始位置を表します.numberパラメータは任意で、削除する要素の個数を表し、0は削除しない要素です.アイテム1、アイテム2、…、アイテムNパラメータはオプションで、追加する要素値を表します.いくつかの例を見ます
var numArray = [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
myArray.splice(9,1) //[9]
myArray //[0, 1,2, 3, 4, 5, 6, 7, 8]
myArray.splice(8,1, 8, 9, 10) //[8]
myArray //[0, 1,2, 3, 4, 5, 6, 7, 8, 9, 10]
myArray.splice(1)//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
myArray //[0]
 
補足:JavaScriptの配列の一般的な操作:
1.ポップ() shift():
1.1 pop()は、配列の最後の要素を削除し、削除された要素を返します.
var numArray = [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
numArray.pop()//9
numArray //[0,1, 2, 3, 4, 5, 6, 7, 8]
1.2 shift()は、配列の最初の要素を削除し、削除された要素を返します.
var numArray = [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
numArray.shift()//0
numArray //[1,2, 3, 4, 5, 6, 7, 8, 9]
2.プッシュ()  unshift():
2.1 push()は、配列の末尾に1つ以上の要素を追加し、要素を追加した後の配列の長さを返します.
var numArray = [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
numArray.push(10,11, 12) //13
numArray = [0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
2.2 unshift()は、配列の先頭に1つ以上の要素を追加し、要素を追加した後の配列の長さを返します.
var numArray = [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
numArray.unshift(10,11, 12) //13
numArray = [10,11, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
転載先:https://blog.51cto.com/xitongjiagoushi/1653063