2015-12-04 2 views
1

У меня есть array объектов структурированы следующим образом:Преобразовать массив объекты для значения строк

[{ a: '1', b : '2'}, {a : '3', b : '4'}] 

С целью подготовки данных для ввода в базу данных, мне нужна строка значений объекта, как это:

('1', '2'),('3', '4') 

С тем же порядком значений .. кроме наивного способа итерации по каждому объекту в массиве и построения строки, есть ли более простой способ сделать это?

+0

Как насчет метода соединения? –

+0

'присоединяйся 'к каким клавишам? – faizanjehangir

+0

Если ваши строковые значения больше, чем просто простые цифры, вы должны полагаться на методы форматирования запросов, которые доступны в рамках базы данных, которые вы используете. В противном случае вы рискуете создать недопустимые строки, если в них есть специальные символы. –

ответ

6

Попробуйте следующие

var arr = [{ a: '1', b : '2'}, {a : '3', b : '4'}]; 
 
    
 
var result = arr.map(function(item){ 
 
    return "('" + item.a + "', '" + item.b + "')";  
 
}); 
 
    
 
console.log(result); 
 
console.log(result.join());

2

Для любителей на линии.

var arr = [{ a: '1', b : '2'}, {a : '3', b : '4'}]; 

var result = arr.reduce(function(result, item, i){ 
    return result + "('" + item.a + "', '" + item.b + "')" + i===arr.length-1?'': ',';  
}, '');