programing

여기서 .slice(0)의 의미는 무엇입니까?

muds 2023. 10. 8. 10:25
반응형

여기서 .slice(0)의 의미는 무엇입니까?

jQuery 소스를 연구하던 중에 다음을 발견했습니다(v1.5 line 2295).

namespace = new RegExp("(^|\\.)" +
  jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");

내 질문은, 왜 사용하느냐는slice(0)여기?

sort()호출된 배열을 수정합니다. 다른 코드가 의존할 수 있는 돌연변이를 일으키는 것은 그다지 좋지 않습니다.

slice()항상 새 배열을 반환합니다 - 다음에 의해 반환된 배열slice(0)입력과 동일합니다. 기본적으로 배열을 복제하는 저렴한 방법입니다.

arr.slice(0)인덱스 0의 요소에서 마지막 요소로 슬라이스를 가져와 원래 배열의 복사본을 만듭니다.

또한 배열 형태의 객체를 배열 형태로 변환하는 데도 사용되었습니다.예를 들어, DOM(등의 여러 DOM 메서드에서 반환됨)은 배열이 아니라 배열과 같은 개체입니다.length필드이며 자바스크립트로 색인화 할 수 있습니다.배열로 변환하기 위해 자주 사용되는 것은 다음과 같습니다.

var anchorArray = [].slice.call(document.getElementsByTagName('a'), 0)

이제 ES2015의 확산 구문은 다음을 포함하여 개체를 변환하는 데 사용됩니다.NodeList그리고.HTMLCollection, 배열 위치:

const anchorArray = [...document.getElementsByTagName('a')]

slice(0)원래 배열과 동일한 새 배열을 만듭니다.원래 배열을 보존하고 새 배열을 생성하려는 경우가 많습니다.

사용하는 경우slice(1), 인덱스 위치 1부터 다른 배열을 만듭니다.

비슷한 것들도 끈을 잡아줍니다.

slice(0)참조 중인 기존 배열(이 경우 네임스페이스)의 배열을 반환할 수 있습니다.

@Anon이 한 말 외에:

slice()method는 지정된 시작 인수에서 시작하는 요소를 선택하고, 지정된 끝 인수에서 끝납니다.

예1:

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);

감귤류의 결과는 다음과 같습니다.

Orange,Lemon

예2:

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(-3, -1);

감귤류의 결과는 다음과 같습니다.

Lemon,Apple

자세한 정보는 여기에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/5024085/whats-the-point-of-slice0-here

반응형