Javascript 如何使用新的输入数据更新“sortNotes”函数?
Javascript 如何使用新的输入数据更新“sortNotes”函数?,javascript,arrays,events,Javascript,Arrays,Events,我正在做一个便笺应用程序:
我在javascript中创建了一个常量“notes”,用于分配内部对象数组。每个对象都有一个标题和描述以及相应的值
创建了一个分配给常数“sortNotes”的函数,该函数通过按标题a到z的字母顺序对对象进行排序
创建了一个分配给常量“notesOutput”的函数,该函数为每个对象创建一个元素h5作为标题,一个元素p作为描述
创建了一个分配给常数“newNote”的函数,该函数在数组中创建一个具有相同属性title和description的新对象
最后,但并非最不
我正在做一个便笺应用程序:
我在javascript中创建了一个常量“notes”,用于分配内部对象数组。每个对象都有一个标题和描述以及相应的值
创建了一个分配给常数“sortNotes”的函数,该函数通过按标题a到z的字母顺序对对象进行排序
创建了一个分配给常量“notesOutput”的函数,该函数为每个对象创建一个元素h5作为标题,一个元素p作为描述
创建了一个分配给常数“newNote”的函数,该函数在数组中创建一个具有相同属性title和description的新对象
最后,但并非最不重要的是,使用submit event为表单创建了一个事件侦听器。它负责在单击submit按钮时获取标题输入和描述输入的值
然后我用正确的参数调用函数“newNote”,在数组中创建一个新对象。-很明显,它是有效的
调用函数“notesOutput”在输出中显示带有标题和说明的新注释-显然它可以工作
之前,我调用了函数'sortNotes',该函数负责按字母顺序从A到Z排列注释。发生的事情并不像我预期的那样有效。不需要计算输出中已经存在的注释以及之后新创建的注释,因此没有很好的组织。我想我必须更新这个函数“sortNotes”中负责排序的内容,但我不知道是什么
常量注释=[{
标题:“银行”,
描述:“每月为我的账户节省100欧元”
}, {
标题:“下一次旅行”,
描述:“夏天去西班牙”
}, {
标题:"健康",,
描述:“别忘了考试”
}, {
标题:“办公室”,
描述:“买一把更好的椅子和一张更好的桌子来工作”
}]
const sortNotes=函数注释{
const organize=notes.sortfunctiona,b{
如果a.titleb.title{
返回1
}否则{
返回0
}
}
返回组织
}
索特诺特斯酒店
const notesOutput=函数注释{
const ps=notes.forEachfunctionnote{
const title=document.createElement'h5'
const description=document.createElement'p'
title.textContent=note.title
description.textContent=note.description
document.querySelector'p-container'.appendChildtitle
document.querySelector'p-container'。追加子描述
}
返回ps
}
notesOutputnotes
const newNote=函数标题输入,描述输入{
notes.push{
标题:标题输入,
描述:描述输入
}
}
const form=document.querySelector'form-submit'
const inputTitle=document.querySelector'form-input-title'
焦点
表单.addEventListener'submit',函数E{
e、 防止违约
常量newTitle=e.target.elements.titleNote.value
const newDescription=e.target.elements.descriptionNote.value
newNotenewTitle,newDescription
索特诺特斯酒店
notesOutputnotes
console.lognotes
e、 target.elements.titleNote.value=
e、 target.elements.descriptionNote.value=
焦点
}
* {
字体系列:“Roboto”,无衬线;
颜色:白色;
字母间距:.1rem;
保证金:0;
填充:0;
框大小:边框框;
}
html{
字体大小:100%;
}
身体{
最小高度:100vh;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.集装箱{
背景色:海绿;
填充:2rem;
}
.container-p{
填充:2rem0;
}
形式{
宽度:100%;
显示器:flex;
弯曲方向:立柱;
调整项目:灵活启动;
}
标签{
文本转换:大写;
字号:600;
字母间距:.25rem;
}
输入
文本区{
宽度:100%;
填充:.5rem;
保证金:1rem 0;
颜色:0d4927;
字体大小:粗体;
字号:1rem;
}
.container-submit\u按钮{
字号:1rem;
字体大小:粗体;
文本转换:大写;
颜色:0d4927;
填充:1rem2rem;
边框:2px实心0d4927;
光标:指针;
保证金:1rem 0;
自对准:柔性端;
}
h1{
字号:2rem;
字母间距:.3rem;
}
氢{
字体大小:1.5rem;
字体大小:300;
}
h5{
字体大小:1.05rem;
保证金:1雷姆0.8雷姆0;
填充:.4rem;
字母间距:.12rem;
显示:内联块;
边框:2倍实心;
}
NOTES应用程序
记笔记,永不忘记
标题
描述
添加注释
sort对数组进行适当的排序,这样就不需要返回任何内容的函数
你的那一类是区分大小写的。如果要再次区分大小写,请删除toLowerCase
不要在函数中传递注释。它需要是一个全局对象
在输出之前清空容器
不需要归还未使用的物品
让注释=[{
标题:“银行”,
描述:“每月为我的账户节省100欧元”
}, {
标题:“办公室”,
描述:“买一把更好的椅子和一张更好的桌子来工作”
}, {
标题:"健康",,
描述
爱雍:“别忘了考试”
}, {
标题:“下一次旅行”,
描述:“夏天去西班牙”
}]
常数sortNotes=函数,b{
如果a.title.toLowerCaseb.title.toLowerCase{
返回1
}否则{
返回0
}
}
const notesOutput=函数{
querySelector'p-container'.innerHTML=;
notes.sortsortNotes
notes.forEachfunctionnote{
const title=document.createElement'h5'
const description=document.createElement'p'
title.textContent=note.title
description.textContent=note.description
document.querySelector'p-container'.appendChildtitle
document.querySelector'p-container'。追加子描述
}
}
const newNote=函数标题输入,描述输入{
notes.push{
标题:标题输入,
描述:描述输入
}
}
const form=document.querySelector'form-submit'
const inputTitle=document.querySelector'form-input-title'
表单.addEventListener'submit',函数E{
e、 防止违约
常量newTitle=e.target.elements.titleNote.value
const newDescription=e.target.elements.descriptionNote.value
newNotenewTitle,newDescription
notesOutputnotes
e、 target.elements.titleNote.value=
e、 target.elements.descriptionNote.value=
焦点
}
注释输出
焦点
* {
字体系列:“Roboto”,无衬线;
颜色:白色;
字母间距:.1rem;
保证金:0;
填充:0;
框大小:边框框;
}
html{
字体大小:100%;
}
身体{
最小高度:100vh;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.集装箱{
背景色:海绿;
填充:2rem;
}
.container-p{
填充:2rem0;
}
形式{
宽度:100%;
显示器:flex;
弯曲方向:立柱;
调整项目:灵活启动;
}
标签{
文本转换:大写;
字号:600;
字母间距:.25rem;
}
输入
文本区{
宽度:100%;
填充:.5rem;
保证金:1rem 0;
颜色:0d4927;
字体大小:粗体;
字号:1rem;
}
.container-submit\u按钮{
字号:1rem;
字体大小:粗体;
文本转换:大写;
颜色:0d4927;
填充:1rem2rem;
边框:2px实心0d4927;
光标:指针;
保证金:1rem 0;
自对准:柔性端;
}
h1{
字号:2rem;
字母间距:.3rem;
}
氢{
字体大小:1.5rem;
字体大小:300;
}
h5{
字体大小:1.05rem;
保证金:1雷姆0.8雷姆0;
填充:.4rem;
字母间距:.12rem;
显示:内联块;
边框:2倍实心;
}
NOTES应用程序
记笔记,永不忘记
标题
描述
添加注释