【发布时间】:2018-10-03 14:30:21
【问题描述】:
我正在编写一个允许组织记录和数据的脚本。
但是现在的一个问题是我使用一个数组来存储大量信息,并且在我的脚本中的某个点,这个数组被搜索匹配的 id 并更新。当数组大小超过 200 个元素时,数据搜索开始变得很慢。
有什么方法可以更有效地搜索数组吗?
我目前正在使用 find.(function(a){return x == y};);
我的数组中的每个元素也是一个元组。
示例代码:
onPipelineChanged: function(component, event, helper)
{
var titleid = event.getParam("titleid");
var title = event.getParam("title");
var maxSeats = event.getParam("maxSeats");
var seatsInUse = event.getParam("seatsInUse");
var item = event.getParam("item"); //This is the item that was moved.
var allGuestsList = component.get("v.allItems");
//Searches guest list for matching guest of who got moved.
var actualGuest = allGuestsList.find(function(moving){return moving.id == item.id;}); //***REALLY INEFFICIENT***
【问题讨论】:
-
你确定这是你的减速吗?对于几百个对象,预计这将花费很少的时间。
-
使用不同的数据结构。可能是一个
Map,由 id 键控,或者是一个按 id 排序的数组。
标签: javascript arrays search optimization