ホームページ >ウェブフロントエンド >jsチュートリアル >jsの関数slice、splice、splitの違いは何ですか
私はこれら 3 つの価値観に出会うたびにとても混乱します。毎回見分けるのは難しいです。それの使い方さえ知りません。最後に今日のまとめをしましょう。
slice()
注: このメソッドは元の配列を変更しません。パラメータにはヘッダーは含まれますが、末尾は含まれません
arrayObject.slice(start,end);
文字列と配列の両方をインターセプトできます。返されるのは新しい配列です。
slice() メソッドは、既存の配列から選択された要素を返します。
新しい配列を返します。 start パラメータはインターセプトの開始配列インデックスで、end パラメータは取得する最後の文字の位置の値に 1 (オプション) を加えた値に等しくなります (ヘッダーは含まれますが、末尾は含まれません)
2 番目のパラメータが省略された場合、デフォルトでは、開始位置から終了位置までフィールドをインターセプトします
例:
`//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾 var a=[1,2,3,4,5,6]; var b=a.slice(0,3); //[1,2,3] var c=a.slice(3); //[4,5,6] //如果两个参数中的任何一个是负数,array.length会和它们相加,试图让它们成为非负数,举例说明: //当只传入一个参数,且是负数时,length会与参数相加,然后再截取 var a=[1,2,3,4,5,6]; var b=a.slice(-1); //[6]
//当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组 var a=[1,2,3,4,5,6]; var b=a.slice(-6); //[1,2,3,4,5,6] var c=a.slice(-8); //[1,2,3,4,5,6]//当传入两个参数一正一负时,length也会先于负数相加后,再截取 var a=[1,2,3,4,5,6];var b=a.slice(2,-3); //[3]//当传入一个参数,大于length时,将返回一个空数组 var a=[1,2,3,4,5,6];var b=a.slice(6); //[]//截取一个字符串时var a="i am a boy"; var b=a.slice(0,6); //"i am a"`
2 splice()
arrayObject.splice(index,howmany,item1,…..,itemX); splice() メソッドは、配列に対して項目を追加または削除し、削除された項目を返します。
注: このメソッドは元の配列を変更します。
最初と 2 番目のパラメータは必須です。また、第二引数が0かどうかによって異なります。
以下の通り
第一引数は項目の追加・削除の位置を開始位置として指定し、配列の末尾からの位置を指定します。
2 番目のパラメータは、削除するアイテムの数です。 0 に設定すると、項目は削除されません
1. 削除 - 要素、2 つのパラメーター、最初のパラメーター (削除される最初の項目の位置)、2 番目のパラメーター (削除される項目の数) を削除するために使用されます。 ) .
var lang = ['php', 'java', 'javascript']; var removed = lang.splice(1,1); //删除 console.log(lang); // php, javascript console.log(removed); //java2. 挿入 - 配列内の指定された位置に任意の要素を挿入します。 3 つのパラメーター、最初のパラメーター (実際の位置)、2 番目のパラメーター (0)、および 3 番目のパラメーター (挿入された項目)。
var insert = lang.splice(0, 0, 'asp'); //从第0个位置开始插入 console.log(insert); //空数组 console.log(lang); //asp, php,javascript3. 置換 - 配列内の指定された位置に任意の項目要素を挿入し、同時に任意の数の項目 (3 つのパラメーター) を削除します。最初のパラメータ (開始位置)、2 番目のパラメータ (削除する項目の数)、および 3 番目のパラメータ (任意の数の項目を挿入する)。
var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 console.log(lang); //console.log(replace); //返回删除的项
split(); stringObject.split(separator,howmany)注: 空の文字列 ("") が区切り文字として使用される場合、stringObject 内の各文字は相互に分割されます。 String.split() は Array.join の動作と逆の動作を行います。
文字列を文字列の配列に分割するために使用されます。文字列の配列。配列は、文字列 stringObject をセパレータで指定された境界で部分文字列に分割することによって作成されます。返される配列内の文字列には、区切り文字自体は含まれません。
ただし、セパレーターが部分表現を含む正規表現の場合、返される配列にはそれらの部分表現に一致する文字列が含まれます (ただし、正規表現全体に一致するテキストは含まれません)。
1. "." を区切りとして使用する場合は、String.split(".") のように記述する必要があります。 String.split(".") は使用できません。 2. "|" を区切りとして使用する場合は、次のように記述する必要があります。String.split("|") は使用できません。
3. "" を区切りとして使用する場合は、正しく区切るために String.split() と記述する必要があります。
".", "| " と "" はすべてエスケープ文字であり、"" を追加する必要があります。
3. 文字列に複数の区切り文字がある場合は、「acount=? および uu =?」のようにハイフンとして「|」を使用できます。 =?" を使用して 3 つすべてを区切ります。 String.split(“and|or”);
var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3)) </script>输出: How,are,you,doing,today? H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? How,are,you例子 2 在本例中,我们将分割结构更为复杂的字符串: "2:3:4:5".split(":") //将返回["2", "3", "4", "5"] "|a|b|c".split("|") //将返回["", "a", "b", "c", ""] 例子 3 使用下面的代码,可以把句子分割成单词: var words = sentence.split(' ')或者使用正则表达式作为 separator: var words = sentence.split(/\s+/)例子 4 如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码: "hello".split("") //可返回 ["h", "e", "l", "l", "o"]若只需要返回一部分字符,请使用 howmany 参数: "hello".split("", 3) //可返回 ["h", "e", "l"]を使用できます。
以上がjsの関数slice、splice、splitの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。