[JS]arr.splice()-配列データの追加/削除/置換/抽出
構文クリーンアップ:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
1.タイル要素の追加
const mine=[0,1,"이",3,"사",5,"육"]
mine.splice(2,0,"오렌지")
//배열 2번째 위치한 곳에 문자열"오렌지"를 추가한다
mine // [ 0, 1, '오렌지', '이', 3, '사', 5, '육' ]
start値に対応するインデックスにitem値を追加アレイの最後に追加する手順は、次のとおりです.
mine.splice(mine.length,0,"오렌지")
これにより,その配列の長さ値をstart値に入れればよい.Push()と同様
2.タイル要素の削除
const mine=[0,1,"이",3,"사",5,"육"]
mine.splice(1,1) // 1번째 인덱스[1]부터 1개를 제거한다
mine //[ 0, '이', 3, '사', 5, '육' ]
mine.splice(1,2) // 1번쨰 인덱스[1]부터 2개를 제거한다
mine //[ 0, 3, '사', 5, '육' ]
start値に続くdeleteCount値は、start値に対応するインデックスから削除される数を意味します.deleteCount値がarr.length-start値より大きい場合、削除は停止します.
ex)
const mine=[0,1,"이",3,"사",5,"육"]
mine.splice(1,8)
mine //[0]
3.アレイ要素の置換
const mine=[0,1,"이",3,"사",5,"육"]
// 배열 2번째부터 1개를 제거하고 숫자 2로 추가한다.
mine.splice(2,1,2)
mine // [ 0, 1, 2, 3, '사', 5, '육' ]
// 배열 1번째부터 2개를 제거하고 숫자 5로 추가한다. mine.splice(2,2,2)
mine // [ 0, 1, 2, '사', 5, '육' ]
4.アレイ要素の抽出
array.splice()自体にも戻り値があります
切り取った値をリターン値とする
ex)
const mine=[0,1,"이",3,"사",5,"육"]
mine.splice(2,2,2) // [ '이', 3 ]
const abc=mine.splice(2,2,2) // [ '이', 3 ]
abc // ['이',3]
mine // [ 0, 1, 2, '사', 5, '육' ]
このようにsplice関数の戻り値が配列であると宣言してもmineの値は変更され、新しい変数abcに格納されます.カット活用
let email = "[email protected]"
function pwlize(email){
let ID=email.split("@")[0].split("")
let dot=email.split("@")[1].split("")
//split을 통해 @를 기준으로 나눈후 다시 split으로 문자열을 배열 형태로 변경
let IDresult =ID.splice(-2,2,"*","*")
//splice로 뒤에서 두번째 인덱스를 삭제 후 "*","*"로 교체
let result = ID.join("")+"@"+dot.join("")
return result
}
console.log(pwlize(email)) //codeca**@gmail.com
したがって、削除後に値を変更する場合は、次の操作を行います.1.インデックス値の開始点に設定
2.2番目の値として削除する値
3.削除する個数の値を後の値に入れればよい
もう一度splice()メソッドを言います
これを「接続」(startNum、deleteCount、insertValue)と見なすことができます.
startNum(開始順)から、いくつかのdeleteCount(削除数)を削除し、いくつかのinsertValue値を入れます.
このような意味を持っていると言える.
Reference
この問題について([JS]arr.splice()-配列データの追加/削除/置換/抽出), 我々は、より多くの情報をここで見つけました https://velog.io/@leo3179/JS-arr.splice-배열-데이터-추가제거교체추출テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol