English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 글은 JavaScript 위장 배열의 사용법을 설명합니다. 여러분과 공유하여 참고해 주세요. 다음과 같습니다:
JavaScript에서 위장 배열이 무엇인가요?
위장 배열(형数组): 직접 배열 메서드를 호출하거나 length 속성에 특별한 행동을 기대할 수 없지만, 실제 배열을 순회하는 메서드를 사용하여 순회할 수 있습니다.
1. 일반적으로 함수의 argument 파라미터는,
2. getElementsByTagName, document.childNodes와 같은 것들은 NodeList 객체를 반환하며 모두 위장 배열에 속합니다.
그렇다면 위장 배열을 표준 배열로 변환하는 방법은 무엇인가요?
Array.prototype.slice.call(fakeArray)를 사용하여 배열을 실제 Array 객체로 변환할 수 있습니다.
예를 들어, 위장 배열을 사용하여 불정수 합을 구하는 문제를 설명합니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>위장 배열</title> </head> <script> function add(){ var sum=0; console.log(arguments); for(var i=0;i<arguments.length;i++{ sum +=arguments[i]; } return sum; } console.log(add(1,2,5,8)); </script> <body> </body> </html>
실행 결과:
가상 배열을 표준 배열로 변환합니다
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>위장 배열</title> </head> <script> function add(){ var sum=0; console.log(arguments instanceof Array);//이제 실제 배열인지 확인할 수 있습니다, 반환 값은 false입니다; console.log(arguments);//이제 인수가 들어온 값을 출력하는 것입니다1,2,5,8 var arguments=Array.prototype.slice.call(arguments);//가상 배열을 표준 배열로 변환합니다 arguments.push(10);//이제 표준 배열의 메서드를 호출할 수 있습니다 console.log(arguments instanceof Array);//이제 실제 배열인지 확인할 수 있습니다, 반환 값은 true입니다; console.log(arguments);//이제 인수가 들어온 값을 출력하는 것입니다, push 후의 배열1,2,5,8,10 for(var i=0;i<arguments.length;i++{ sum +=arguments[i]; } return sum; } console.log(add(1,2,5,8)); </script> <body> </body> </html>
실행 결과:
제이스크립트와 관련된 더 많은 내용에 대해 관심이 있는 독자는 다음 사이트의 특辑을 확인할 수 있습니다: 《제이스크립트 데이터 구조와 알고리즘 기술 요약》、《제이스크립트 수학 연산 사용 방법 요약》、《제이스크립트 정렬 알고리즘 요약》、《제이스크립트 순회 알고리즘과 기술 요약》、《제이스크립트 검색 알고리즘 기술 요약》 및 《제이스크립트 오류와 디버깅 기술 요약》
이 문서에서 설명된 내용이 여러분의 제이스크립트 프로그램 설계에 도움이 되길 바랍니다.
선언: 이 문서의 내용은 인터넷에서 가져온 것이며, 저작권은 원작자에게 있으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용으로, 이 사이트는 소유권을 가지지 않으며, 인공 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 침해가 의심되는 내용을 발견하면, 이메일을 notice#w로 보내 주세요.3codebox.com에 신고를 위해 이메일을 보내면 (#을 @으로 변경하십시오.), 관련 증거를 제공하십시오. 증거가 확인되면, 이 사이트는 즉시 저작권 침해 내용을 제거합니다.