> 웹 프론트엔드 > 프런트엔드 Q&A > es6에서 배열과 유사한 객체를 배열로 변환하는 방법

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

青灯夜游
풀어 주다: 2023-01-04 09:13:02
원래의
2356명이 탐색했습니다.

변환 방법: 1. "for in" 문을 사용하여 배열 유사 객체를 배열로 변환합니다. 구문은 "for(var i in obj){console.log(arr.push(obj[i])"입니다. );}"; 2 , 내장된 객체 키와 값, "Object.keys(obj)" 및 "Object.values(obj)" 구문을 사용합니다. 3. Array 객체의 from() 함수를 사용합니다. "Array.from(obj)" 구문.

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

배열과 유사한 것이 무엇인가요?

JavaScript에는 배열처럼 보이지만 배열이 아닌 배열 유사 개체라고 하는 일부 개체가 있습니다.

배열형 객체란 무엇인가요?

0부터 시작하고 키로 자연스럽게 증가하는 정수만 포함하며, 일반적으로 배열과 유사한 객체로 간주되는 요소 수를 나타내는 데 사용되는 길이 객체 도 정의합니다.

  • 에는 객체 요소를 가리키는 숫자 인덱스 첨자가 있으며, 길이 속성은 객체의 요소 수를 알려줍니다.

  • 에는 배열 객체에 있는 push, forEach 및 indexOf와 같은 메서드가 없습니다.

배열 유사 객체를 배열로 변환

첫 번째 방법: for in을 사용하여 배열 유사 객체를 배열로 변환

<script type="text/javascript">
		var obj = {
			0: &#39;a&#39;,
			1: &#39;b&#39;,
			2: &#39;c&#39;,
		};
		console.log(obj[0]);
		console.log(typeof obj);
		var arr = [];
		for(var i in obj){
			console.log(arr.push(obj[i]));
		}
		console.log(arr);
		//把类数组对象放在一个名为arr的新数组里使得obj变成了数组

		console.log(arr instanceof Array);//判断arr是否为数组

	</script>
로그인 후 복사

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

전체를 가져오려면 객체:

let arr1 = []
		for (let i in obj) {
			let newobj = {}
			newobj[i] = obj[i]
			arr1.push(newobj);
		}
		console.log(arr1);
로그인 후 복사

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

두 번째 방법: 내장 객체 키 및 값

내장 객체 Object.keys: 키 가져오기

내장 객체 Object.values ​​​​가져오기 value

let obj = {
			&#39;1&#39;: 5,
			&#39;2&#39;: 8,
			&#39;3&#39;: 4,
			&#39;4&#39;: 6
		};
		//内置对象Object.keys:获取键
		var arr = Object.keys(obj)
		console.log(arr);
		//内置对象Object.values获取值
		var arr2 = Object.values(obj)
		console.log(arr2);
로그인 후 복사

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

세 번째 방법: Array.from( )

let obj = {
		&#39;0&#39;: 5,
		&#39;1&#39;: 8,
		&#39;2&#39;: 4,
		&#39;3&#39;: 6,
		&#39;length&#39;:4
	};
	    let arr = Array.from(obj)
		console.log(arr);
로그인 후 복사

Array.from()은 객체를 배열로 변환하려면 2가지 조건을 충족해야 합니다

1: 키 숫자 값이어야 합니다

2: 길이가 있는 키-값 쌍이 있어야 합니다

길이를 쓰지 않을 때:

길이 키-값 쌍이 추가될 때:

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

확장된 지식: for of, for in 및 forEach의 차이

let arr = [&#39;周一&#39;, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;,&#39;周五&#39;,&#39;周六&#39;,&#39;周日&#39;]
		// for of
		for (let item of arr) {
			console.log(item);
		}
        // for in
		for (let i in arr) {
			console.log(i);
		}
        // forEach
        arr.forEach(item => {
			console.log(item);
		})
로그인 후 복사

효과는 그림과 같습니다.

es6에서 배열과 유사한 객체를 배열로 변환하는 방법

for in 항목은 배열의 항목을 나타냅니다.

i의 for는 일반적으로 객체를 순회하는 데 사용되는 인덱스를 나타냅니다.

forEach 메서드는 배열의 각 요소를 호출하는 데 사용되며 해당 요소를 콜백 함수에 전달합니다.

for of

1 for-in 루프의 모든 트랩을 피할 수 있습니다. for-in 循环中的所有陷阱
2.可以使用 breakcontinue 和 return
3.for-of 循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象
4.它也支持字符串的遍历
5.for-of 并不适用于处理原有的原生对象 

for in

注:for..in循环会把某个类型的原型(prototype)中方法与属性给遍历出来,所以这可能会导致代码中出现意外的错误

for Each

1、foreach2 break를 사용하면 continue할 수 있습니다. return

3.for-of 루프는 배열 탐색만 지원하는 것이 아닙니다. 또한 배열과 유사한 많은 객체에도 적합합니다.

4. 또한 string 탐색도 지원합니다.

5. for-of는 원래 기본 객체를 처리하는 데 적합하지 않습니다. es6에서 배열과 유사한 객체를 배열로 변환하는 방법

for in



참고: for..in 루프는 특정 유형의 프로토타입에 있는 메서드와 속성을 순회하므로 코드에서 예기치 않은 오류가 발생할 수 있습니다

for Each🎜🎜🎜🎜1. foreach 메서드는 루프🎜🎜🎜2에서 반환, 중단 및 계속 문을 사용할 수 없습니다. forEach 메서드에서 함수 콜백 3개의 매개변수가 있습니다: 🎜🎜🎜🎜🎜🎜 (1) 매개변수는 순회된 배열 내용입니다(필수). 🎜(2) 매개변수는 해당 배열 인덱스입니다(선택 사항) 🎜(3) 매개변수는 배열 자체입니다(선택 사항). 🎜🎜 3. 배열의 각 요소에 대해 제공된 함수를 한 번씩 실행합니다. 정의되지 않은 반환🎜

【추천 학습: javascript 비디오 튜토리얼

위 내용은 es6에서 배열과 유사한 객체를 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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