Search code examples
javascriptarrayssplice

delete values from an array in an object using JavaScript?


What is wrong with my code? Why is the "deleteMessage(index)" function not removing any messages??

var facebookProfile = {
  messages: ["hi", "bye", "test"],
  deleteMessage: function deleteMessage(index) {
     facebookProfile.messages.splice(index);
  },
};

Solution

  • You need to specify how many items you want to splice (1 I guess assuming the name is singular) Otherwise it would remove all the messages to the end starting the index.

    var facebookProfile = {
      messages: ["hi", "bye", "test"],
      deleteMessage: function deleteMessage(index) {
         facebookProfile.messages.splice(index, 1);
      },
    }
    
    facebookProfile.deleteMessage(1)
    console.log(facebookProfile.messages)
    
    facebookProfile.deleteMessage(1)
    console.log(facebookProfile.messages)