I have an array data but it declared with const. I am rather confused to change the data in array. Here is my array:
const person = {
name: "Person A", ---> the data I want to change
age: 100,
favDrinks: [
"coffee",
"temulawak", --->> the data I want to change
"tea"
],
greeting: function() {
console.log("Hello World"); --->> the data I want to change
}
}
How can I change the data of person.name, person.favDrinks[1], and greeting function of "Hello World". Is there a possible way to change constant data? I want to change to text strings. Here is my code :
function personName(nama ){
let person.name = nama;
person.push("name:" nama );
}
console.log(personName("Molly"));
But they are all wrong. Please help me. Thank you. :)
You are doing a couple of things wrong.
let inside your function.return personconst person = {
name: "Person A",
age: 100,
favDrinks: ["coffee", "temulawak", "tea"],
greeting: function () {
console.log("Hello World");
},
};
function personName(nama) {
person.name = nama;
return person;
}
console.log(personName("Molly"));
This is what you'll get after your changes have been made:
{
name: 'Molly',
age: 100,
favDrinks: [ 'coffee', 'temulawak', 'tea' ],
greeting: [Function: greeting]
}
You are using let to create a variable with the name person.name which is not possible and then pushing it into person, in your case this is not what you should do, instead just change the values directly.
function personName(nama) {
person.name = name
return person
}
console.log(personName("Molly"));
if a constant variable is a string or a jumber, it cannot be changed. but if it is an array or object it cannot be changed but items in the object or array can be added, removed, or edited.
person is an object, not an array.Working Demo :
const person = {
name: "Person A",
age: 100,
favDrinks: [
"coffee",
"temulawak",
"tea"
],
greeting: function() {
console.log("Hello World");
}
};
person.name = "Person B";
person.favDrinks[1] = "Soft Drinks";
person.greeting = function() {
console.log('Hello Guys!');
}
console.log('updated object', person);