Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环遍历大型javascript多维数组_Javascript_Arrays_Json_Multidimensional Array - Fatal编程技术网

循环遍历大型javascript多维数组

循环遍历大型javascript多维数组,javascript,arrays,json,multidimensional-array,Javascript,Arrays,Json,Multidimensional Array,我有一个大的json数据(大约20k+(2mb+),我想在我的页面中显示 因此,我使用ajax获取数据,并使用javascript中的JSON.parse进行解析,它变成了一个大的多维数组。然后,我用一些过滤器用TJS(js lib for json)搜索一些值。然后,我使用for循环在表中显示它们。但是,它总是说页面没有响应(可能是因为大数据) 这是某种销售报告 所以,问题是,有没有任何方法可以更快地实现这一点,而不需要for循环,这样它就不会每次都崩溃? 还是因为性能不同而必须使用forea

我有一个大的json数据(大约20k+(2mb+),我想在我的页面中显示

因此,我使用ajax获取数据,并使用javascript中的JSON.parse进行解析,它变成了一个大的多维数组。然后,我用一些过滤器用TJS(js lib for json)搜索一些值。然后,我使用for循环在表中显示它们。但是,它总是说页面没有响应(可能是因为大数据)

这是某种销售报告

所以,问题是,有没有任何方法可以更快地实现这一点,而不需要for循环,这样它就不会每次都崩溃? 还是因为性能不同而必须使用foreach

[编辑]


因此,每天晚上,我都将应用程序的销售数据传输到json(平均每天100多个数据)。现在,我想基于json数据制作一份销售报告。管理员将设置日期范围(可以是1个月或2个月等)。每天都有这么多的数据

数据样本:(一个月内,大约有2k+个相同格式的数据)


我强烈建议您修改您的体系结构,以便将数据加载到各个部分,而不是将所有内容作为一个大列表加载。每个区块是有五行还是一百行取决于您,但它肯定会使您的页面响应更快,并减少负载和渲染时间

您可以通过添加
prev
next
链接以及一些页码链接(如
1、2、…、5
)来轻松实现这一点,以帮助用户跳转到特定部分。如果希望减少页面请求,请在寻呼机链接上添加
Javascript
侦听器,以便它们使用而不是传统的完整页面加载来加载行


或者,如果您希望最小化点击,您可以在滚动条上添加
Javascript
侦听器,并从中使用以请求额外的行。这通常被称为“代码>无限滚动 .

如果你要显示一个带有分页或无限滚动的网格,你可以认为这是非常好的,当涉及到巨大的数据时。


我希望这能帮助你{ "nojual": "1-00043", "tgl": 1452038400, "pelanggan_id": "guest", "tgltempo": "0000-00-00", "pay": "cash", "sales_id": "", "sisa": "0", "po": "V5", "iduser": "riny", "modedisc": "P", "total_qty": "4", "kas": "o", "sync": "N", "last_update": "2016-01-06 12:30:54", "nofaktur": "19", "service_charge": "0", "mode_service_charge": "P", "pb2": "0", "detail_pay": "", "diskon_detail_pay": "0", "tipe_diskon_detail_pay": "", "ket_diskon": "", "subtotal": "120000", "disc": "0", "pajak": "10", "grandtotal": "132000", "nojd": "89", "barang_id": "20", "jlhbrg": "2", "hrgjual": "15000", "reture": "0", "tjddisc": "0", "expired": "0000-00-00", "total": "30000", "tjdiduser": "riny", "tjdmodedisc": null, "qty": "0", "satuan": "", "gudang_id": "", "id_option": "", "sp": "tawar", "tjdsync": "N", "tjdlast_update": "2016-01-06 12:30:54", "waiters": "astuti", "nama_barang": "ice tea", "jenis": "Minuman" }