> 웹 프론트엔드 > JS 튜토리얼 > js의 기능 슬라이스, 스플 라이스 및 분할의 차이점은 무엇입니까

js의 기능 슬라이스, 스플 라이스 및 분할의 차이점은 무엇입니까

一个新手
풀어 주다: 2017-09-09 10:49:06
원래의
2504명이 탐색했습니다.

이 세 가지 가치를 접할 때마다 너무 혼란스러워요. 매번 구별하기가 어렵네요. 그것을 어떻게 사용하는지조차 모릅니다. 마지막으로 오늘의 내용을 정리해 보겠습니다.

  1. slice()
    참고: 이 방법은 원래 배열을 변경하지 않습니다. 매개변수에는 헤더가 포함되지만 끝은 포함되지 않습니다.
    arrayObject.slice(start,end);
    문자열과 배열을 모두 가로챌 수 있습니다. 반환되는 것은 새로운 배열입니다.
    slice() 메서드는 기존 배열에서 선택한 요소를 반환합니다.
    새 배열을 반환합니다. start 매개변수는 가로채기의 시작 배열 인덱스이고 end 매개변수는 검색하려는 마지막 문자의 위치 값에 1을 더한 값과 같습니다(선택 사항)(헤더는 포함하지만 끝은 아님)
    두 번째 매개변수가 생략된 경우 , 기본값은 시작 위치에서 끝 위치까지 필드를 가로채는 것입니다.
    예:

`//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾
 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() 메소드는 배열에 항목을 추가/제거한 다음 삭제된 항목을 반환합니다.
참고: 이 방법은 원래 배열을 변경합니다.
첫 번째와 두 번째 매개변수는 필수입니다. 그리고 두 번째 매개변수가 0인지 여부에 따라 달라집니다.
다음과 같습니다.
첫 번째 매개변수는 항목 추가/제거 위치를 시작 위치로 지정합니다. 배열의 끝에서부터 위치를 지정하려면 음수를 사용합니다.
두 번째 매개변수는 삭제할 항목 수입니다. 0으로 설정하면 항목이 삭제되지 않습니다.
1. 삭제 - 요소를 삭제하는 데 사용되며, 두 개의 매개변수, 첫 번째 매개변수(첫 번째 삭제될 항목의 위치), 두 번째 매개변수(삭제할 항목 수) ) .

var lang = ['php', 'java', 'javascript'];  
var removed = lang.splice(1,1); //删除  
console.log(lang); // php, javascript  
console.log(removed); //java
로그인 후 복사

2. 삽입 - 배열의 지정된 위치에 요소를 삽입합니다. 세 개의 매개변수는 첫 번째 매개변수(실제 위치), 두 번째 매개변수(0), 세 번째 매개변수(삽입 항목)입니다.

var insert = lang.splice(0, 0, 'asp'); //从第0个位置开始插入  
console.log(insert); //空数组  
console.log(lang); //asp, php,javascript
로그인 후 복사

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(".")을 사용해야 올바르게 구분할 수 있습니다.
2. If "|"를 구분자로 사용하는 경우 String.split("|")과 같이 작성해야 정확하게 구분할 수 있습니다.
3. ""를 구분 기호로 사용하는 경우 String.split()과 같이 작성해야 올바르게 구분할 수 있습니다.
", " |" 및 ""는 모두 이스케이프 문자이므로 ""를 추가해야 합니다.
3. 문자열에 구분 기호가 여러 개 있는 경우 "acount=? 및 uu =?와 같이 "|"를 하이픈으로 사용할 수 있습니다. n=?"을 사용하여 세 개를 모두 구분합니다. 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(&#39; &#39;)或者使用正则表达式作为 separator: 

var words = sentence.split(/\s+/)例子 4 如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码: 

"hello".split("")   //可返回 ["h", "e", "l", "l", "o"]若只需要返回一部分字符,请使用 howmany 参数: 

"hello".split("", 3)    //可返回 ["h", "e", "l"]
로그인 후 복사
를 사용할 수 있습니다.

위 내용은 js의 기능 슬라이스, 스플 라이스 및 분할의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿