JavaScript配列の基本操作--追加、削除、切り取り、置換
5402 ワード
メソッドディレクトリスタック、キュー操作 プッシュする ポップ unshift シフト 切り取り置換 slice splice メソッドの特性
配列操作の各方法については、以下の3つの特性に注目したい.は、元の配列 を操作していますか?戻り値 リレーのパラメータ スタック、キュー操作直接操作元配列 戻り値:追加後配列を実行する長さ パラメータ:el(追加する要素) 直接操作元配列 戻り値:削除された要素 パラメータ:なし 直接操作元配列 戻り値:追加後配列を実行する長さ パラメータ:el(追加する要素) 直接操作元配列 戻り値:削除された要素 パラメータ:なし は、元の配列 を変更しません.戻り値:切り取られた要素からなる新しい配列 パラメータ: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)=>負のパラメータしかない 直接操作元配列 戻り値:削除された要素からなる新しい配列 パラメータ: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つの要素を削除し、この位置に後の要素 を挿入します.
配列操作の各方法については、以下の3つの特性に注目したい.
push()
配列の末尾に要素を追加します.//
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()
配列のヘッダに要素を追加します.//
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()
配列の要素を切り取ります.パラメータの可能性
//
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()
切り取り、削除、置換、配列要素の増加パラメータ解釈
パラメータの可能性
//
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"]