как разделить объект на 2 строки. ключи в одной строке, значения в другой строке

#javascript #string #object

#javascript #строка #объект

Вопрос:

как разделить объект на 2 строки?. ключи в одной строке, значения в другой строке

мой объект таков.

   var obj = {
            mail: 'mailObjeto',
            nombre: 'nombreObjeto',
            apellido: 'apellidoObjeto'
  };
  

желаемый вывод

 string 1: "mail,nombre,apellido";
string 2:"mailObjeto,nombreObjeto,apellidoObjeto";
  

Ответ №1:

В последних версиях Chrome (51 все еще за флагом) и Firefox (47) вы можете сделать

 var obj = {
  mail: 'mailObjeto',
  nombre: 'nombreObjeto',
  apellido: 'apellidoObjeto'
};

var string1 = Object.keys(obj).join();
var string2 = Object.values(obj).join();

console.log(string1);
console.log(string2);  
 .as-console-wrapper {top:0}  

Поскольку поддержка по Object.values -прежнему несколько отсутствует, вот другой способ

 var obj = {
  mail: 'mailObjeto',
  nombre: 'nombreObjeto',
  apellido: 'apellidoObjeto'
};

var string1 = Object.keys(obj);
var string2 = string1.map(function(k) { return obj[k] });

string1 = string1.join();
string2 = string2.join();

console.log(string1);
console.log(string2);  
 .as-console-wrapper {top:0}  

Комментарии:

1. вам нужно использовать .join(',') для соединения строк запятую.

2. По умолчанию , , поэтому мне не нужно добавлять запятую

3. @IvanParedes — всегда пожалуйста! Первый работает, но он пока не поддерживается в большинстве браузеров, но он будет.

Ответ №2:

Попробуйте и это

  var obj = {
            mail: 'mailObjeto',
            nombre: 'nombreObjeto',
            apellido: 'apellidoObjeto'
  };

console.log( "String 1", Object.keys( obj ).join(",") );

console.log( "String 2", Object.keys( obj ).map( function( key ){ return obj[ key ] } ).join(",") );  

Ответ №3:

   var obj = {
            mail: 'mailObjeto',
            nombre: 'nombreObjeto',
            apellido: 'apellidoObjeto'
  };

var keys = Object.keys(obj);
var str1 = keys.join(',');
var str2 = keys.map(function(key){ return obj[key] }).join(',');

console.log(str1)
console.log(str2)  

Посмотрите на это 😉