javascript - 如何在 JavaScript 中使用 Object 键作为标题和值子列表
问题描述
我有一个简单的 json 文件,其中包含数学运算信息。我想将 json 数据放入 ul 中,这样,对象键应该是带有标题类的标题,并且它的值应该在每个标题之后列出。
我的脚本文件:
{
"Operations":{
" Arithmetic Operations" : ["+", "-", "*", "/"],
"Comparision Operations" : ["Equals","Greater than","Greater than equal to","Less than","Less than equal to"]
}
}
fetch('./js/data.json')
.then(function (response) {
return response.json();
})
.then(function (data) {
fetchList(data['Operations'])
});
fetchList = data => {
Object.entries(data).forEach(([key, values]) => {
let list;
values.forEach(item => {
list = `<li class="list">${ item }</li>`;
});
const li =
`<li class="head">${ key }</li>
${ list }
`;
console.log(li)
document.querySelector('#operations .lists').innerHTML += li
});
}
结果仅显示每个值的最后一个值
<li class="head"> Arithmetic Operations</li>
<li class="list">/</li>
<li class="head">Comparision Operations</li>
<li class="list">Less than equal to</li>
解决方案
既然没有骗子,我会回答的。这里有两件事。
- 代替:
=
- 附加:
+=
你正在做的是替换。你需要做的是追加。您的解决方案是:
let list = "";
values.forEach(item => {
list += `<li class="list">${ item }</li>`;
});
向您展示正在发生的事情的示例片段将是:
var arr = ["One", "Two", "Three"];
var one = "";
arr.forEach(function (a) {
one = a;
});
console.log(one);
var two = "";
arr.forEach(function (a) {
two += a;
});
console.log(two);
我希望你能理解上面带有变量one
和的情况two
。您正在寻找two
但您已经实施了one
.
推荐阅读
- reactjs - 如何从 .map 函数显示不同大小的图像?
- janusgraph - Janusgraph - 如何将顶点分配给变量
- shell - 如何解决 Parsing expression Lexer error yq
- python - 使用 FastAPI 在请求中注入附加参数
- javascript - 使用 .forEach 时出现异步/等待问题
- json - vscode json文件
- ruby-on-rails - 文件中的葡萄 Swagger 描述
- apache-kafka - 如何使两个DC之间的kafka集群中的生产者幂等?
- javascript - 提交表单并验证 TOKEN JWT 后,再次加载 Vue JS 实例
- c# - 查看新用户加入电报频道时使用的链接