2012-06-22 3 views
2

У меня есть структура данных JavaScript, как следующий в моем веб-приложение Node.js/Экспресс:Как добавить новую сложную запись в массив javascript?

var users = [ 
    { username: 'x', password: 'secret', email: '[email protected]' } 
    , { username: 'y', password: 'secret2', email: '[email protected]' } 
]; 

После получения отправленные значения формы для нового пользователя:

{ 
    req.body.username='z', 
    req.body.password='secret3', 
    req.body.email='[email protected]' 
} 

Я хотел бы добавить новый пользователь в структуру данных, которые должны привести к следующей структуре:

users = [ 
    { username: 'x', password: 'secret', email: '[email protected]' } 
    , { username: 'y', password: 'secret2', email: '[email protected]' } 
    , { username: 'z', password: 'secret3', email: '[email protected]' } 
]; 

Как добавить новую запись в моем массив пользователей, используя размещенный Валу эс?

ответ

6

Вы можете использовать push method для добавления элементов в конец массива.

var users = [ 
    { username: 'x', password: 'secret', email: '[email protected]' } 
    , { username: 'y', password: 'secret2', email: '[email protected]' } 
]; 

users.push({ username: 'z', password: 'secret3', email: '[email protected]' }) 

Вы также можете просто установить users[users.length] = the_new_element, но я не думаю, что выглядит хорошо.

+0

Как я могу подставить значения столбца для жестко закодированных значений? Например: 'user.push ({имя пользователя: 'req.body.username', пароль: 'req.body.password', email: 'req.body.email'})' –

+0

Просто сделайте req.body. имя пользователя, без кавычек. Кавычки превращают вещи в строки. – hugomg

+0

А, да, оставляя котировки отработанных. Благодарю. –

1

Вы можете добавлять элементы в массив разными способами:

Push - добавляет к концу (думаю, что стек)

Unshift - добавляет к началу (думаю очереди)

Splice - общий (push и unshift - обертки вокруг этого)

Смежные вопросы