@burov0798
Пытаюсь изучать php\js

Как преобразовать массив полученный от mysql в другой вид?

Код (node.js):
var mysql      = require('mysql');

var connection = mysql.createConnection({
  host     : '*********',
  user     : '*********',
  password : '**********',
  database : '**********'
});

module.exports = (arg, callback) => {
	
connection.connect();

connection.query('SELECT user FROM users', function(err, rows, fields) {
  if (err) throw err;

  return callback('Текст: ' + JSON.stringify(rows));
});

connection.end();
        
}

Получаю: Текст: [{"user":317959591},{"user":222222},{"user":3333333}]
Как сделать, чтобы массив выглядел: ['317959591', '222222', '3333333']
  • Вопрос задан
  • 351 просмотр
Решения вопроса 2
ZLOFENIX
@ZLOFENIX
Абсолютно поехавший
Что-то вроде такого.
if (err) throw err;
var array = new Array();
for (var t in rows)
array.push(t['user']);
return callback('Текст: ' + JSON.stringify(array));
Ответ написан
HoHsi
@HoHsi
connection.query('SELECT user FROM users', function(err, rows, fields) {
  if (err) { throw err; };
  
  const users = rows.map((row) => ""+row.user);
  callback(`Текст: ${JSON.stringify(users)}`);
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@PerfectLab
var mysqlText = '[{"user":317959591},{"user":222222},{"user":3333333}]';
var mysqlArray = JSON.parse(mysqlText);
var array = mysqlArray.map(function(i){ return i.user });
console.log(array);
// [317959591, 222222, 3333333]
Ответ написан
keslo
@keslo
...
connection.query('SELECT user FROM users', function(err, rows, fields) {
  if (err) throw err;
  return callback('Текст: ' + rows.map(function(row) { return row.user }));
});
...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы