Reputation: 122
I have an empty array inside the object like this,
const account = {
name: "David Reallycool",
expenses: []
}
and I need to create a function to add expense into an empty array, the result I need is,
const account = {
name: "David Reallycool",
expenses: [
{
descrition: "Rent",
amount: 1000
},
{
description: "Coffee",
amount: 2.50
}
]
How can I manipulate it?
Upvotes: 0
Views: 66
Reputation: 614
const account = {
name: "David Reallycool",
expenses: []
}
function addExpense(description, amount){
account.expenses.push({"description": description, "amount":amount});
}
addExpense("Test", 500);
console.log(account);
Upvotes: 0
Reputation: 2462
As an object (account) is transferred not as a copy you can manipulate it without problems inside your function.
function addExpenses(inputAccount){
inputAccount.expenses = [
{
descrition: "Rent",
amount: 1000
},
{
description: "Coffee",
amount: 2.50
}
]
}
// will be called with
addExpenses(account);
// here account will have expenses content
Upvotes: 0
Reputation: 30739
You need to know two things for that:
push()
function of Array
prototype to add that object in your expenses
array.function addExpense(expensesArray, expense){
expensesArray.push(expense);
}
const account = {
name: "David Reallycool",
expenses: []
};
var expense = {
descrition: "Rent",
amount: 1000
}
addExpense(account.expenses, expense);
var expense = {
descrition: "Coffee",
amount: 2.5
}
addExpense(account.expenses, expense);
console.log(account);
Upvotes: 0
Reputation: 898
const addExpense = (expense) => {
account.expenses.push(expense)
}
// use like this
addExpense({ description: 'Rent', amount: 1000 })
addExpense({ description: 'Coffee', amount: 2.5 })
Upvotes: 1