javascript - 使用数组或 JSON 来跟踪唯一列表

标签 javascript performance parse-platform lookup

我在 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/

相关文章:

python numpy 加速 2d 重复搜索

Android Spinner 适配器和 Lollipop

javascript - 使用javascript获取表单名称

php - 使用 PHP 和 JS 到服务器的系统时间

javascript - iframe 的加载事件不会在 IE 中触发

javascript - 桌面 View 显示文本但在移动 View 中文本不显示

java - 存储静态对象列表的最有效方法是什么?

arrays - MATLAB 中的逻辑数组与数值数组

authentication - Parse.com - 仅使用电子邮件进行用户登录

java - 如何在解析时存储日期和时间