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