function validation(length){ if(!(length == 2) && !(length == 5) && !(length == 8) && !(length == 10)){ console.log('매개변수를 확인해주세요'); return false; } return true; } module.exports = { /** * length : 코드길이, coordnate : 좌표리스트 * 좌표리스트 안에서 코드 글자수에 맞춘 데이터만 배열로 SELECT함, 법정동 코드만 가져옴 * @param {*} length * @param {*} coordinate * @returns */ allCodeServcie : (length, coordinate) => { let castNumLength = Number(length); if(!validation(castNumLength)){ return; } let result = []; for(let i = 0; i < coordinate.length; i++){ if(coordinate[i].properties.CD.length == length){ result.push(coordinate[i].properties.CD); } } return result; }, /** * locationCode가 앞에 있고, 코드 글자수[length]도 맞는 코드 SELECT함 * EX => locationCode = 43110과 length = 10 이면, 4311000011, 4311000211 등등을 가져옴 * @param {*} locationCode * @param {*} length * @param {*} coordinate * @returns */ codeService: (locationCode, length, coordinate) => { let castNumLength = Number(length); if(!validation(castNumLength)){ return; } let result = []; for(let i = 0; i < coordinate.length; i++){ if(coordinate[i].properties.CD.length == length){ result.push(coordinate[i].properties.CD); } } result = result.filter(str => str.startsWith(locationCode)) return result; }, /** * locationCode : 법정동 코드, length : 코드길이, coordnate : 좌표리스트 * 좌표리스트 안에서 코드 글자수와 법정동코드가 포함된 데이터만 배열로 SELECT함 * EX => locationCode = 43 이면 43이 포함되고 코드길이에 맞는 데이터를 구함 * @param {*} locationCode * @param {*} length * @param {*} coordinate * @returns */ locationCodeMathingService: (locationCode, length, coordinate) => { let castNumLength = Number(length); if(!validation(castNumLength)){ return; } let result = []; for(let i = 0; i < coordinate.length; i++){ if(coordinate[i].properties.CD.length == length){ result.push(coordinate[i]); } } // console.log(result); result = result.filter(str => str.properties.CD.startsWith(locationCode)) return result; }, /** * 길이에 관한 모든 데이터를 뽑아옴 * @param {*} length * @param {*} coordinate * @returns */ allLocationCodeMathingService: (length, coordinate) => { let castNumLength = Number(length); if(!validation(castNumLength)){ return; } let result = []; for(let i = 0; i < coordinate.length; i++){ if(coordinate[i].properties.CD.length == length){ result.push(coordinate[i]); } } return result; }, }