-1
我有一个javascript对象,我想遍历和打印数据基于1个常见的类别。循环javascript对象来打印数据
Javascript对象:
var $states = {
"AL" : {
"longname": "Alabama",
"lawOne": "Alabama Law 1",
"lawTwo": "Alabama Law 2",
"lawThree": "Alabama Law 3",
"region" : "Southeast"
},
"AK" : {
"longname": "Alaska",
"lawOne": "Alaska Law 1",
"lawTwo": "Alaska Law 2",
"lawThree": "Alaska Law 3",
"region" : "Northwest"
},
"AZ" : {
"longname": "Arizona",
"lawOne": "Arizona Law 1",
"lawTwo": "Arizona Law 2",
"lawThree": "Arizona Law 3",
"region" : "Southwest"
},
etc...
}
我能过循环数组,并获得粒状的越来越控制台登录所有处于同一区域的状态:
for (var key in $states) {
if ($states.hasOwnProperty(key)) {
var $getStateRegion = $states[key].region
if ($getStateRegion === "Northeast") {
console.log ($states[key].longname);
}
}
}
一旦我尝试循环浏览这些数据并打印一张表格,这些数据就是我遇到问题的地方。我希望能够有一个与长的名字,lawOne,lawTwo,和法律三个值的输入在那里。是什么赋予了?一旦我尝试运行for循环,这就是我遇到了障碍的地方。提前致谢!
是什么问题? –
你的代码工作正常,但你是如果段错误。 更改**东北** ** **西北** ** – HoangHieu
@BeingSunny问题是,目前记录的所有国家的长名称的列表。目标是循环访问该地区的州,并在不同的
回答
请尝试下面的工作代码。
来源
2017-02-21 17:19:15
你是在正确的轨道上。在继续之前,我想指出你正在使用for..in循环,但更新版本的Javascript也支持for..of循环,所以这是你可能想要考虑的。不同之处在于for..in循环提供了对象的键值,for..of循环提供了值,所以它通过跳过写入以下效果的步骤来缩短代码:
解决方案的秘诀在于如何处理DOM,并且有很多方法可以实现此目的。我会告诉你一个,但它不一定是最快或最好的。我建议您使用不同的DOM操作来找出最适合您的操作。
首先,我们知道如何让一个记录,所以循环的JavaScript的方面,你有处理...
接下来,我们需要创建表....我会认为你要四列根据你的描述,但你可以很容易地调整这一点,把国家名称和一条法律放在每一行,这可能是一个更好的设计,允许有不同数量的法律。
HTML代码将是这个样子:
那么你的循环就需要通过创建为出现几行加入到这个网站:
我们将使用的字符串操作DOM,因为它是一个开始的好地方,因为它与手写的内容最为相似。
我们将把表格分成三部分:标题,正文和页脚。
现在,在循环中,我们会根据需要创建每一行,并把它添加到身体:
我们的身体后,我们可以通过结合头使我们的表,主体和页脚:
然后我们找个地方把它注入到我们的文档:
这是一个活生生的例子:
注意:关于活码,HTML大于显示框更大。在我的浏览器中,我必须向下滚动snippit HTML才能查看生成的表格。或者将snippit窗口展开为完整的标签页,以便在更大的屏幕中查看它。
上面的代码被简化了,大多数编码器会告诉你不要使用HTMLElement.innerHTML,因为它很慢,但它是一个很好的开始。一旦你有了这个,开始练习document.create(tagName),然后使用更直接的DOM操作。
来源
2017-02-21 18:00:14
非常深入和有用的答案!谢谢!只是几件事。当我将它加载到JSBin或Codepen中时,按钮函数会引入一个表格,然后消失。我想在沙盒里玩这个,就像我可以把DOM弄混一点。这里的问题是,这不显示基于公共数据点的数据。假设您在输入字段中输入“NJ”。期望的结果将显示一张包含所有东北州和那些法律的表格。 –
要使用我提供给您的代码,您可以使用一些“黑客”将代码复制到Stack Overflow代码片段编辑器。点击“复制代码段来回答”。这会将我的代码复制到您的问题的新答案中。然后,请查看该链接下方,然后点击“编辑上面的snippit”链接。这会给你一个开发环境,让你可以随意使用javascript,css和html。完成后,将其复制并粘贴到您自己的IDE中,然后删除您创建的草稿答案,方法是不发帖就离开该页面。 –
要根据自己的需要更改代码,您需要定义表格的外观和改变循环以满足您的需求。因为您可以将所需的数据输出到控制台,所以我假设您已经掌握了循环部分。如果您需要编写这些循环的帮助,请发送您想要使用的表格布局,并描述您希望表格过滤的各种方式,并帮助您构建代码。 –
相关问题