Javascript 替换对象数组中的键值
我正在做一个项目,这是一个基本的消息应用程序。基本上,我已经创建了一个对象数组,允许我查看预构建的消息。然后,我应该能够单击“全部清除”按钮,并通过循环对象数组来清除正在显示的所有消息。这就是我目前在messageData.js中的内容Javascript 替换对象数组中的键值,javascript,arrays,splice,Javascript,Arrays,Splice,我正在做一个项目,这是一个基本的消息应用程序。基本上,我已经创建了一个对象数组,允许我查看预构建的消息。然后,我应该能够单击“全部清除”按钮,并通过循环对象数组来清除正在显示的所有消息。这就是我目前在messageData.js中的内容 const messages = [ { id: 'message1', message: 'Hello everyone! Welcome to hell', userId: 'user1', }, { id: 'm
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;
我想做的基本上是单击允许将消息
键值更改为空字符串onclick
,这样我就可以在不删除对象的情况下删除显示的消息,以便以后可以将新消息推送到这些键值中
我开始写这篇文章,但我似乎遗漏了一些东西
const clearBtnFunction = () => {
messages.splice(1, '');
};
我将在main.js文件上调用事件侦听器,因此我还不太担心这一部分。如果可能的话,我只想知道替换数组中键值的正确语法
const clearBtnFunction = () => {
messages.foreach( ( message ) => {
message.message = "";
});
};
或者使用for循环
const clearBtnFunction = () => {
for( let i =0; i < messages.length; i++) {
messages[i].message = "";
}
};
constclearbtnfunction=()=>{
for(设i=0;i
以下是我选择的。我把这个函数放在messages.js中,而不是放在messages.js中,在这里我正在构建domstring
const clearBtnFunction = (e) => {
e.preventDefault();
const messages = message.getMessages();
messages.splice(0, messages.length);
messageBuilder(messages);
};
我不明白你想用splice()
做什么。参数是start、deleteCount、replacement1、replacement2、
。你似乎错过了开始或计数。您正在用字符串替换对象。您所说的“消息键值”是什么意思?您的意思是像message1
和message2
这样的ID?显示函数所需的结果。键值是什么?我没有看到任何名字叫key的东西。也许你想使用字典,使用message1
,message2
作为键,使用{message,userId}作为值对不起,我的术语还需要做一些工作。我想获取message:
的值,并将其替换为空字符串不幸的是,eslint不允许我在此上使用foreach循环拼接整个阵列?为什么不创建一个新数组或使用myArray=[]清除该数组;您的对象不再在消息数组中。