我在 Parse.com 数据库中有一个可以接收点赞投票的对象。我想跟踪哪些用户竖起大拇指,以防止同一用户再次这样做。我正在考虑向我的对象添加一个名为“voters”的字段,该字段将保存投票用户的列表。
这应该是用户名数组还是以键作为用户名的 JSON?
如果我可以使用 json 映射并对键上的名称进行 O(1) 查找,为什么还要使用数组?
ie object.voters[uername] = 未定义则没有投票
?
最佳答案
如果您只需要选民的姓名,请使用数组。
如果您需要更多信息而不仅仅是名称,请使用 Json。
为什么如果你只需要姓名,那么首先用选民姓名创建一个数组会很容易,其次处理速度会更快。
但是如果你需要类似的东西
voter={"name":"foo","age":"25"}
正如您所看到的,我们可以使用 powerof json 来保存有关一个用户的多个信息,并且无论如何每个投票者都必须位于一个数组中,以便您可以迭代它们
更新---
要查找数组中名称的索引,只需使用 array.indexOf("the name")
这将返回的是名称的索引号,如果名称不存在,它将仅返回 -1,所以一个简单的 if else 可以处理这个
更新---
和here我找到了一个性能测试来比较哪个在数组或对象中查找速度更快,并且似乎数组仍然胜出。
和here是另一个阅读来源
关于javascript - 使用数组或 JSON 来跟踪唯一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34730617/