Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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 - Fatal编程技术网

Javascript 有没有一种有效的方法可以通过两个或多个项来组织多维数组?

Javascript 有没有一种有效的方法可以通过两个或多个项来组织多维数组?,javascript,Javascript,如果我有一个这样的数组: Array[Array[2], Array[2], Array[2]...] 其中,两个元素数组由位置0上的整数ID和位置1上的时间戳组成。所有元素都是从json解析的,因此它们都是字符串。我从mySQL数据库中获取这些值 我有多个相同ID的出现,数组按时间戳排序,如下所示: Array[0] = {"50", "datetime"} Array[1] = {"49", "datetime"} Array[2] = {"45", "datetime"} Array[3

如果我有一个这样的数组:

Array[Array[2], Array[2], Array[2]...]
其中,两个元素数组由位置0上的整数ID和位置1上的时间戳组成。所有元素都是从json解析的,因此它们都是字符串。我从mySQL数据库中获取这些值

我有多个相同ID的出现,数组按时间戳排序,如下所示:

Array[0] = {"50", "datetime"}
Array[1] = {"49", "datetime"}
Array[2] = {"45", "datetime"}
Array[3] = {"50", "datetime"}
Array[4] = {"45", "datetime"}
Array[0] = {"50", "datetime0"}
Array[1] = {"50", "datetime1"}
Array[2] = {"49", "datetime0"}
Array[3] = {"49", "datetime1"}
Array[4] = {"45", "datetime0"}
我想将数组组织在相同ID的块中,并按时间戳排序,如下所示:

Array[0] = {"50", "datetime"}
Array[1] = {"49", "datetime"}
Array[2] = {"45", "datetime"}
Array[3] = {"50", "datetime"}
Array[4] = {"45", "datetime"}
Array[0] = {"50", "datetime0"}
Array[1] = {"50", "datetime1"}
Array[2] = {"49", "datetime0"}
Array[3] = {"49", "datetime1"}
Array[4] = {"45", "datetime0"}
通过javascript在客户端实现这一点会更高效吗?还是有一种方法可以在mySQL上实现这一点


同事们帮助我恢复睡眠

,还有一件事可以让我在使用上面提到的sql时实现可扩展性,
为这两个字段添加索引,这样查询速度会快得多

,而且在使用上述sql时,还有一件事可以使其具有可伸缩性,
为这两个字段添加索引,这样使用@tagelicht的建议查询会快得多

,我使用以下方法解决了mySQL端的问题:

SELECT * FROM table GROUP BY id
由于在我的数据库中,所有项目都已按时间戳排序,因此不需要再进行编码


绝望和睡眠不足让你哑口无言

使用@tagelicht的建议,我在mySQL方面使用以下方法解决了问题:

SELECT * FROM table GROUP BY id
由于在我的数据库中,所有项目都已按时间戳排序,因此不需要再进行编码


绝望和睡眠不足会让你哑口无言

使用SQL应该是最简单的方法。例如,在WHERE语句之后尝试按myId ASC、myDatetime ASC排序。然而,使用谷歌应该很容易找到这一点;)是的,你可以很容易地做到这一点与耶稣基督!我怎么就想不起来了。将SQL查询更改为order by ID,并使用javascript对数组进行排序。非常感谢@tagelicht。这可以用SQL和JS来完成,但我认为在SQL查询本身中完成会更有效,因为服务器正在以某种默认方式对生成的项进行排序,所以最好跳过它,直接给它所需的顺序。我还认为,一般来说,SQL做这些事情的速度更快,但这可能是错误的。@MarcoTulioSouza使用多一点SQL,您就可以完全通过它获得排序的输出。同样,我认为这对性能有好处,但不确定。使用SQL应该是最简单的方法。例如,在WHERE语句之后尝试按myId ASC、myDatetime ASC排序。然而,使用谷歌应该很容易找到这一点;)是的,你可以很容易地做到这一点与耶稣基督!我怎么就想不起来了。将SQL查询更改为order by ID,并使用javascript对数组进行排序。非常感谢@tagelicht。这可以用SQL和JS来完成,但我认为在SQL查询本身中完成会更有效,因为服务器正在以某种默认方式对生成的项进行排序,所以最好跳过它,直接给它所需的顺序。我还认为,一般来说,SQL做这些事情的速度更快,但这可能是错误的。@MarcoTulioSouza使用多一点SQL,您就可以完全通过它获得排序的输出。我再次认为这将有利于表现,但不确定。