>  기사  >  웹 프론트엔드  >  자바스크립트는 배열 메소드가 아닙니다

자바스크립트는 배열 메소드가 아닙니다

PHPz
PHPz원래의
2023-05-12 12:37:07515검색

JavaScript에서 배열은 매우 일반적인 데이터 구조입니다. 이는 순서가 지정된 데이터 컬렉션을 저장하고 조작하는 데 널리 사용됩니다. 배열에는 유용한 메서드가 많이 있지만 이러한 메서드(또는 속성) 중 일부가 배열에 속하는 것처럼 보이지만 실제로는 배열의 메서드(또는 속성)가 아닌 Array 객체의 메서드(또는 속성)인 이유가 궁금할 수도 있습니다. 자체.속성). 이 기사에서는 몇 가지 일반적인 오해와 일반적인 실수에 대해 논의하고 JavaScript의 배열 메서드 및 속성에 대해 설명합니다.

배열이란 무엇인가요?

먼저 배열이 무엇인지 이해해 봅시다. JavaScript의 배열은 숫자, 문자열, 개체 등을 포함한 다양한 유형의 데이터를 저장할 수 있는 순서가 지정된 목록입니다. 예를 들어, 다음은 간단한 배열입니다:

let myArray = [1, 2, 3, "four", { five: 5 }];

이 배열에는 숫자, 문자열, 객체가 모두 특정 순서로 배열에 저장되어 있습니다. 배열의 요소를 조작하고 액세스하기 위해 JavaScript는 개발자가 배열에서 다양한 작업을 쉽게 수행할 수 있도록 내장된 메서드 및 속성 집합을 제공합니다.

배열 메서드가 아닌 메서드는 무엇인가요?

아래에는 몇 가지 일반적인 Array 개체 메서드가 나열되어 있으며 배열 메서드처럼 보이지만 실제로는 배열뿐만 아니라 모든 개체에서 사용할 수 있으므로 Array 개체 메서드입니다.

join( )

Array.join() 메서드는 배열의 모든 요소를 ​​문자열로 결합합니다. 특히 이 메서드는 모든 요소를 ​​문자열로 연결하고 지정된 문자열을 요소 사이의 구분 기호로 삽입합니다. 예:

let myArray = ["a", "b", "c", "d"];
let joinedArray = myArray.join(",");
console.log(joinedArray); // "a,b,c,d"

indexOf() 및 lastIndexOf()

Array.indexOf() 메서드는 배열에서 처음 발견된 요소의 인덱스를 반환하거나 배열에서 요소를 찾을 수 없는 경우 -1을 반환합니다. Array.lastIndexOf() 메서드는 배열 끝부터 검색을 시작하고 발견된 마지막 요소의 인덱스를 반환합니다. 배열에서 요소를 찾을 수 없으면 -1을 반환합니다. 예:

let myArray = [1, 2, 3, 2];
let index = myArray.indexOf(2); // 返回 1
let lastIndex = myArray.lastIndexOf(2); // 返回 3

toString()

Array.toString() 메서드는 배열을 문자열로 변환하고 해당 문자열을 반환합니다. 이 메서드는 Array.join() 메서드와 유사하지만 쉼표를 구분 기호로 사용하여 배열의 요소를 결합합니다. 예:

let myArray = [1, 2, 3];
let strArray = myArray.toString(); // 返回 "1,2,3"

slice()

Array.slice() 메서드는 시작 인덱스부터 끝 인덱스(끝 인덱스 제외)까지의 배열 요소를 포함하는 새 배열을 반환합니다. 예:

let myArray = [1, 2, 3, 4, 5];
let newArray = myArray.slice(2, 4); // 返回 [3, 4]

concat()

Array.concat() 메서드는 두 개 이상의 배열을 연결하고 새 배열을 반환합니다. 예:

let firstArray = [1, 2, 3];
let secondArray = [4, 5, 6];
let newArray = firstArray.concat(secondArray); // 返回 [1, 2, 3, 4, 5, 6]

push() 및 pop()

Array.push() 및 Array.pop() 메서드는 각각 배열 끝에 요소를 추가하고 배열 끝에서 요소를 삭제하는 데 사용됩니다. 예:

let myArray = ["one", "two"];
myArray.push("three"); // 返回 3,数组变成 ["one", "two", "three"]
let lastElement = myArray.pop(); // 返回 "three",数组变成 ["one", "two"]

shift() 및 unshift()

Array.shift() 및 Array.unshift() 메서드는 각각 배열의 시작 부분에서 요소를 삭제하고 배열의 시작 부분에 요소를 추가하는 데 사용됩니다. 예:

let myArray = ["one", "two"];
myArray.unshift("zero"); // 返回 3,数组变成 ["zero", "one", "two"]
let firstElement = myArray.shift(); // 返回 "zero",数组变成 ["one", "two"]

배열 메서드와 Array 객체 메서드의 차이점

위에 나열된 메서드는 배열 메서드처럼 보이지만 가장 중요한 차이점은 원래 배열 자체를 수정하지 않는다는 것입니다. 대신 새로운 배열, 문자열 또는 기본 유형 값을 반환합니다. 예를 들어 다음 예제에서는 Slice() 메서드의 차이점을 보여줍니다. 원래 배열은 변경되지 않지만 새 배열이 생성됩니다.

let myArray = ["a", "b", "c", "d", "e", "f"];
let newArray = myArray.slice(2, 4); // 返回 ["c", "d"]
console.log(myArray); // ["a", "b", "c", "d", "e", "f"]

반대로 배열의 push() 메서드를 사용하면 해당 메서드가 배열 자체를 수정하고 새 요소를 추가합니다.

let myArray = ["a", "b", "c"];
myArray.push("d"); // push() 方法将修改原数组本身
console.log(myArray); // ["a", "b", "c", "d"]

또한 push(), pop(),shift(), unshift() 등의 배열 메서드는 원래 배열을 변경하고 변경된 배열을 반환하는 반면, concat(), Join(), indexOf( 등의 Array 객체 메서드는 ) 및 슬라이스())는 새 배열, 문자열 또는 기본 유형의 값을 반환하며 원래 배열을 변경하지 않습니다.

결론

JavaScript의 배열에는 유용한 메서드가 많이 있지만, 배열에 속하는 것처럼 보이는 일부 메서드는 실제로 Array 객체의 메서드라는 점에 유의해야 합니다. 이러한 메서드는 모든 객체에 사용할 수 있지만 원래 객체를 수정하지 않으며 반환된 결과는 새로운 배열, 문자열 또는 기본 유형 값입니다. JavaScript의 배열과 배열 개체를 더 잘 이해하려면 개발자는 둘 사이의 차이점을 명확하게 이해해야 합니다.

위 내용은 자바스크립트는 배열 메소드가 아닙니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.