How to convert a variable from undefined to empty

1

Currently I have the following function where I get certain values.

$('#listado-sucursales').on('change', '.sucursal_correo', function (e) {
    console.log("Obteniendo sucursal");
    let sucursal_correos = $(this).closest('.tr_correos');
    let cod_agencia = sucursal_correos.find('.cod_agencia_correos').text();
    let nombre_agencia_correos = sucursal_correos.find('.nombre_agencia_correos').text();
    let canton_agencia_correos = sucursal_correos.find('.canton_agencia_correos').text() || '';
    let codprov_agencia_correos = sucursal_correos.find('.codprov_agencia_correos').text();
    let departamento_agencia_correos = sucursal_correos.find('.departamento_agencia_correos').text();
    let direccion_agencia_correos = sucursal_correos.find('.direccion_agencia_correos').text();
    let distrito_agencia_correos = sucursal_correos.find('.distrito_agencia_correos').text();
    let provincia_agencia_correos = sucursal_correos.find('.provincia_agencia_correos').text();

    let obj_sucursal_correos = {};

    obj_sucursal_correos.cod_agencia = cod_agencia;
    obj_sucursal_correos.nombre_agencia = nombre_agencia_correos;
    obj_sucursal_correos.canton_agencia_correos = canton_agencia_correos;
    obj_sucursal_correos.codprov_agencia_correos = codprov_agencia_correos;
    obj_sucursal_correos.departamento_agencia_correos = departamento_agencia_correos;
    obj_sucursal_correos.direccion_agencia_correos = direccion_agencia_correos;
    obj_sucursal_correos.distrito_agencia_correos = distrito_agencia_correos;
    obj_sucursal_correos.provincia_agencia_correos = provincia_agencia_correos;

    localStorage.setItem('json_sucursal_correo', JSON.stringify(obj_sucursal_correos));
    console.log(obj_sucursal_correos);
});

The problem I have is that some variables keep "undefined", so if the case is that, I must convert the variables to empty "" for example this variable:

let canton_agencia_correos = sucursal_correos.find ('. canton_agencia_correos'). text () || '';

If the value sucursal_correos.find('.canton_agencia_correos').text() does not exist or is undefined, I must save a blank ''.

but such a situation does not work for me.

In the end I get a json in the following way:

    {"cod_agencia":"0001",
"nombre_agencia":"Sucursal San Pedro Sula",
"canton_agencia_correos":"undefined",
"codprov_agencia_correos":"undefined",
"departamento_agencia_correos":"undefined",
"direccion_agencia_correos":"undefined",
"distrito_agencia_correos":"undefined",
"provincia_agencia_correos":"undefined"}
    
asked by JG_GJ 20.12.2018 в 01:09
source

2 answers

3

Use a ternary to verify that your object is not undefined, and if it is empty:

obj_sucursal_correos.canton_agencia_correos = canton_agencia_correos === undefined ? '' : canton_agencia_correos ;

let mivar = undefined;
//let mivar = 2;
let mivar2= mivar === undefined? '<vacio>' : mivar
console.log(mivar2)
mivar = 2;
let mivar3= mivar === undefined? '<vacio>' : mivar
console.log(mivar3)
    
answered by 20.12.2018 / 01:27
source
1
if(typeof(tu_variable) == 'undefined'){
    tu_variable = '';
}

Or in a ternary as you put it (as long as they have been previously declared):

tu_variable = typeof(tu_variable) == 'undefined' ? '' : tu_variable;
    
answered by 20.12.2018 в 01:23