javascript - 单击按钮时循环遍历数组
问题描述
我有一个数组,我通过 json_encode(); 放入我的文件中;从我的 .php 文件中。数组如下所示:
{
"15800175": {
"posID": "159469",
"scanID": "22597",
"anr": "15800175",
"TVanr": "",
"code": "G-09-27-2E",
"ean": "4710069680575",
"marke": "fox",
"bez": "jersey yellow",
"bez2": "size xl",
"menge": "1",
"ve": "St\u00fcck",
"Dimensionstext": "TT9857BG\r\n",
"Langtext": ""
},
"15100027": {
"posID": "159471",
"scanID": "22597",
"anr": "15100027",
"TVanr": "",
"code": "G-11-03-2A",
"ean": "4712511825411",
"marke": "fox",
"bez2": "jersey L",
"menge": "1",
"ve": "St\u00fcck",
"Dimensionstext": "blue\r\n",
"Langtext": ""
},
例如,我想在一个看起来像这样的表中显示值
Pos | code | bez | anr | qty | ve
我希望它首先显示数组的第一个位置,这将等于 15800175,对吗?然后当我按下“下一步”按钮时,它应该切换 div,隐藏第一个位置并向我显示第二个位置的值。
如何通过一键按下来向我显示相应的值?真的卡在这上面了。谢谢!
解决方案
在 javascript,afaik 中,“数组”和您在那里拥有的东西是有区别的,我们称之为“对象”。在 PHP 中,我想它们都被称为“数组”,当您有数组值的键时,它被称为“关联数组”,但在 Javascript 中,我们称这些“对象”以将它们与看起来像的数组区分开来[1,2,3]
所以第一步是把你的对象变成一个数组。我会做这样的事情:
var obj = {
"15800175": {
"posID": "159469",
"scanID": "22597",
"anr": "15800175",
"TVanr": "",
"code": "G-09-27-2E",
"ean": "4710069680575",
"marke": "fox",
"bez": "jersey yellow",
"bez2": "size xl",
"menge": "1",
"ve": "St\u00fcck",
"Dimensionstext": "TT9857BG\r\n",
"Langtext": ""
},
"15100027": {
"posID": "159471",
"scanID": "22597",
"anr": "15100027",
"TVanr": "",
"code": "G-11-03-2A",
"ean": "4712511825411",
"marke": "fox",
"bez2": "jersey L",
"menge": "1",
"ve": "St\u00fcck",
"Dimensionstext": "blue\r\n",
"Langtext": ""
}
}
var arr = Object.keys(obj).map(key => obj[key]);
最终arr
看起来像:
[{"posID":"159471","scanID":"22597","anr":"15100027","TVanr":"","code":"G-11-03-2A","ean":"4712511825411","marke":"fox","bez2":"jersey L","menge":"1","ve":"Stück","Dimensionstext":"blue\r\n","Langtext":""},{"posID":"159469","scanID":"22597","anr":"15800175","TVanr":"","code":"G-09-27-2E","ean":"4710069680575","marke":"fox","bez":"jersey yellow","bez2":"size xl","menge":"1","ve":"Stück","Dimensionstext":"TT9857BG\r\n","Langtext":""}]
arr
然后,您可以使用 forEach 回调遍历每个对象,并随心所欲arr.forEach(item => {});
地渲染它们。
推荐阅读
- reactjs - 如何使用带有 react-final-form 的自定义无线电组件?
- azure - 在策略定义中返回响应时如何使用变量?
- swift - 如何在 swift / AVKIT 中从 HLS 流中读取 id3 标签/其他元数据
- django - 无法使用位于其他域的 JS 工作文件构建“工作人员”
- javascript - 一次将本机 set defaultNavigationOptions 反应到多个堆栈导航
- javascript - 这个 RxJS 史诗流有更好的解决方案吗?
- python - 如何减去从 API 服务器接收的时间和 Python 中的当前时间
- javascript - 将 Javascript 导入 Angular 组件问题
- c - 内联中file-static out-of-line、global out-of-line和no out-of-line copy函数是什么意思
- python - Dataflow Sideinputs - SDK 2.x 中的工作器缓存大小