Reduzindo objetos para acesso de um nível [Javascript,Object]
4049 단어 performancenodeobjectsjavascript
Hoje venho aqui apresentar para vocês um package que eu criei bem simples para reduzir ou transformar objetos complexos em objetos mais simples.
Bora conferir isso ? 😀
오 문제
Constantemente em javascript nós temos que fazer o parse de arquivos json para objetos, ou ainda, recebemos dados de uma determinada fonte (um body de uma requisição http por exemplo) e precisamos fazer o parse daquelas informações. O problema é que as vezes nós precisamos processor todo o objeto, mapeando-o para uma classe para então definir um modelo para aquela informação e na maioria das vezes esse é o caminho correto, porém existem situações em que fazer esse mapeamento, ou seja, Definir um modelo para essa estrutura não é sequer possível devido a dinamicidade dos possíveis dados de entrada.
Então, se não consigo definir um modelo para esses dados, como saber se determinada propriedade existe nos dados recebidos ? Aí que vem o nosso package do dia, o object-reducer-js;
객체 리듀서-js
O package é bem simples, ele serve para reduzir um objeto para um objeto de nível único.
Normalmente um object em javascript tem vários níveis de acesso, por example:
const object = {
propriedade1: 1,
innerObject:{
propriedade2: 2
}
}
Ou seja, se eu quiser ler o valor do campo propriedade2 precisamos fazer
object.innerObject.propriedade2
o que neste caso é relativamente simples, porém Imagine que essa estrutura varie conforme diferentes fontes ou pior, varie na mesma fonte.
패키지 객체-리듀서-js, ele vai reduzir, ou seja simplificar, o objeto alvo, trazendo todas as propriedades não nulas para o primeiro nível de acesso.
Por exemplo esse objeto que analisamos, após passá-lo pelo package ele ficaria assim:
const objectReduced = {
propriedade1: 1,
propriedade2: 2
}
Ou seja, após simplificar o objeto, para saber se determinada propriedade existe basta você fazer
objectReduced .propriedade
, 필요에 따라 파저 또는 구문 분석을 제거합니다 😀
실례
Como todo bom artigo de programação, na minha humilde opinião, precisa de um exemplo prático aqui vai um pequeno trecho de código que mostra o package em ação!
const objectReducer = require('object-reducer-js');
const complexObject = {
originIp:'192.168.0.1',
hostData:{
subRede:'192.168.0.0',
hostName: 'www.localhost.com.br',
identityId:'74512dsw',
hostDetails:{
geoInformation:{
long:'45.145',
lat: '78.412'
},
isAuth: true
}
}
}
// Fazendo um acesso regular ao objeto
console.log('Está autenticado ?', complexObject.hostData.hostDetails.isAuth);
const reducedObject = objectReducer.reduceObjectSync(complexObject);
// objeto reduzido vai ser dessa forma
/* {
originIp:'192.168.0.1',
subRede:'192.168.0.0',
hostName: 'www.localhost.com.br',
identityId:'74512dsw',
long:'45.145',
lat: '78.412',
isAuth: true
}
*/
// Fazendo acesso após reduzir o objeto
console.log('Está autenticado ?', reducedObject.isAuth);
Dessa forma conseguimos reduzir objeto para acesso a um level apenas, acessando todas as propriedades com muito mais comodidade.
패키지 다운로드
Para baixar o package basta instalá-lo utilizando o npm:
npm i object-reducer-js
Dá uma olhada na página do package para checar todas as possibilidades de uso e mais detalhes 😀:
https://www.npmjs.com/package/object-reducer-js
Bom é isso, essa foi a dica de hoje, espero que lhes seja útil em algum momento. Fiquem com Deus e até a próxima 😀
Reference
이 문제에 관하여(Reduzindo objetos para acesso de um nível [Javascript,Object]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/r9n/reduzindo-objetos-para-acesso-de-um-nivel-javascriptobject-4kf3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Reduzindo objetos para acesso de um nível [Javascript,Object]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/r9n/reduzindo-objetos-para-acesso-de-um-nivel-javascriptobject-4kf3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)