Замена значения ключа в массиве объектов - PullRequest
0 голосов
/ 12 марта 2020

Я работаю над проектом, который является базовым c приложением сообщений. в основном я создал массив объектов, который позволяет мне видеть предварительно созданные сообщения. Затем я смогу нажать кнопку «Очистить все» и очистить все отображаемые сообщения, просматривая массив объектов. это то, что я до сих пор храню в своих messageData. js

const messages = [
  {
    id: 'message1',
    message: 'Hello everyone! Welcome to hell',
    userId: 'user1',
  },
  {
    id: 'message2',
    message: 'Yall are weirdos!',
    userId: 'user3',
  },
  {
    id: 'message3',
    message: 'Hey! I think everyone is awesome!',
    userId: 'user2',
  },
  {
    id: 'message4',
    message: 'Thanks for saying that my friend.',
    userId: 'user4',
  },
  {
    id: 'message5',
    message: 'Hey buddy, what is up?',
    userId: 'user4',
  },
];

const getMessages = () => messages;

, и я хочу в основном щелкнуть, чтобы значение ключа messages было изменено на пустую строку onclick чтобы я мог избавиться от отображаемых сообщений, не избавляясь от объекта, чтобы потом я мог push новые сообщения с этими значениями ключа.

Я начал писать это, но мне, кажется, что-то не хватает ..

const clearBtnFunction = () => {
  messages.splice(1, '');
};

Я буду вызывать прослушиватель событий в моем главном файле. js, поэтому я пока не очень переживаю из-за этой части. Я просто хочу знать правильный синтаксис для замены значения ключа в массиве, если это возможно.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Вот что я выбрал. Я поместил эту функцию не в messagesData. js, а в сообщениях. js, где я строю цепочку доменных имен

const clearBtnFunction = (e) => {
 e.preventDefault();
 const messages = message.getMessages();
 messages.splice(0, messages.length);
 messageBuilder(messages);
};
0 голосов
/ 12 марта 2020
const clearBtnFunction = () => {
  messages.foreach( ( message ) => {
      message.message = "";
  });
};

или с л oop

const clearBtnFunction = () => {
  for( let i =0; i < messages.length; i++) {
      messages[i].message = "";
  }
};
...