javascript - 循环遍历对象数组并在 html 标签内显示道具的值 - Javascript
问题描述
我是 JS 的新手,我正在尝试一个练习。我想遍历一个对象内的一组对象,并将索引值从一个对象映射到另一个对象内的 id 值,并基于此,我想执行一些操作。我的对象:
obj= {
"text": [{
"id": 0,
"name": "aaa"
},{
"id": 1,
"name": "bbb"
},{
"id": 3,
"name": "ccc"
},{
"id": 4,
"name": "ddd"
}],
"content": [
{
"id": 123,
"index": 0
},{
"id": 1232,
"index": 2
},{
"id": 12333,
"index": 3
}
]
}
本节有 2 个部分,1) 以表单形式呈现对象name
内部的属性 值text
:
aaa
bbb
ccc
ddd
eee
fff
2)我想-
根据对象内部提供的索引在每组名称值之后添加一个。content
基本上我想将索引值从内容对象映射到文本对象内部的 id 值,并根据它们,我想-
在名称值之后添加。即:在上述情况下,索引为:0,2,3。因此 o/p 看起来像:
aaa
bbb
-
ccc
-
ddd
这是我到目前为止第 1 部分的代码:
function string () {
var arr = obj.text;
var output = '';
for(var i=0; i<arr.length; i++) {
output += '<div>'+ arr[i].text + '</div>';
}
document.getElementById("container").innerHTML = output;
};
我在第 2 部分需要一些帮助。知道吗?
解决方案
在我看来这是一个简单的问题,所以这是一个解决方案,我只是想知道我是否没有错过这个问题的微妙之处?
const
obj = { text: [ { id: 0, name: "aaa" }
, { id: 1, name: "bbb" }
, { id: 3, name: "ccc" }
, { id: 4, name: "ddd" }
]
, content:[ { id: 123, index: 0 }
, { id: 1232, index: 2 }
, { id: 12333, index: 3 }
]
}
function string()
{
let a_text = obj.text
, a_content = obj.content
, Container = document.getElementById("container")
, c_Index = 0
if ( a_content[c_Index].index === 0 ) c_Index++
for(let i=0; i<a_text.length; i++)
{
if (i >= a_content[c_Index].index)
{
c_Index++
let barDiv = document.createElement('div')
barDiv.textContent = '-'
Container.appendChild(barDiv)
}
let NewDiv = document.createElement('div')
NewDiv.textContent = a_text[i].name
Container.appendChild(NewDiv)
}
}
string()
<div id="container"></div>
推荐阅读
- gremlin - 如何返回单个对象而不是数组中的单个项目?
- visual-studio - Visual Studio 2017 性能探查器:客户端未持有所需的权限
- c# - 从一个动态按钮中删除 2 个动态按钮
- list - 如何将每个值从一个列表映射到另一个?(哈斯克尔)
- sql - Vb.Net 2010 - 具有自动数值的 SQL 插入命令
- java - android - 到 sqlite 的 json 键值对
- amazon-web-services - 如何将物联网 (IoT) 数据发送到 Amazon Web Services 上的数据库和 SQS 队列?
- sql-server - NLSSORT Oracle 到 SQL Server 2008
- go - 如何将 C.double 数组传递给 Cgo 函数?
- ruby - 正则表达式来测试类名的标准