FRONTEND/React

Javascript :: 동적으로 변수 생성

neeon 2024. 11. 26. 16:37
728x90
// 객체 생성
let dynamicVars = {};

// 동적으로 변수명 생성
for (let i = 0; i < 5; i++) {
    dynamicVars[`variable${i}`] = `value${i}`;
}

// 결과 출력
console.log(dynamicVars);
// { variable0: 'value0', variable1: 'value1', variable2: 'value2', variable3: 'value3', variable4: 'value4' }

 

이렇게 무지성 변수도 선언할 수 있고,

${i} 대신 기존에 선언해두었던 변수들을 사용할 수도 있다.

 

나의 경우에는 배열 안의 값에 해당하는 데이터의 검증한 결과를 저장해둬야 해서 동적 변수를 구현하게 되었음.

 

예를 들면 그리드안에 배열[] 안에 있는 값과 이름이 같은 컬럼에 데이터를 확인하는 일이다.

그때는 아래와 같이 변형해서 사용할수도 있다.

 

const checkColumns 	= ['Nation', 'Dept', 'Name', 'Age']
	
_.forEach(dataList, (row, index) => {
	let dynamicVars = {};

	// 동적으로 변수명 생성
	for (let i = 0; checkColumns.length; i++) {
    	dynamicVars[`s${checkColumns[i]}`] = gridModule?.getValue(index, checkColumns[i]) !== undefined
     }
     
     // 위의 컬럼 값 중 null 값이 있으면 아래의 로직이 돈다.
     if (Object.values(dynamicVars).some(value => !value)) {
			// 원하는 기능 구현
     }
});

 

 

어떤 데이터를 검증하기 위해 변수를 선언하는 경우,

갯수가 많아지면 하드코딩처럼 코드가 길어지는 케이스가 있는 것 같아 하나씩 정리해보려고 한다.

 

 

728x90