#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)
Посмотрите на это 😉