【发布时间】:2016-08-29 03:52:20
【问题描述】:
我有一个存储模式信息的二维数组。数据可能如下所示:
var testGrid = [["blank", "red", "blank"],
/* row 2 */ ["blank", "yellow", "green"],
/* row 3 */ ["blank", "blue", "blank"]];
图案的最大尺寸是 3 x 3 的网格,但是,并非所有空间都必须使用。由于空白基本上意味着那里没有信息,所以我经常遇到两种模式结构不同但功能相同的情况。像这样:
[["red", "red" "blank"],
["red", "red", "blank"],
["blank", "blank", "blank"]
[["blank", "blank", "blank"],
["blank", "red", "red"],
["blank", "red", "red"]]
由于方向,所有模式都有 4 种可能的表示形式。但是,有些模式如下所示:
[["blank", "blank", "blank"],
["blank", "yellow", "green"],
["blank", "blue", "blank"]]
在 3 x 3 的网格中有 8 种可能的表示形式。
所以我有几个问题:
存储这些数据的最佳方式是什么?我在想我可以将更简单的模式存储为 2 x 2 网格,这样可以将我必须对这些模式进行的检查数量减少到正常的 4。
检查数据库中已有模式的最佳方法是什么?只是循环一个函数,将新创建的模式与数据库中的每个其他条目进行比较? (顺便说一下,我使用的是 mongoDB)。
【问题讨论】:
-
有多少种颜色?你是指哪 8 种表示?绕中心旋转,好的,那是 4,然后呢?镜像?翻译了吗?
-
对不起,我的意思是翻译
标签: javascript mongodb design-patterns multidimensional-array