【发布时间】:2015-07-03 06:34:18
【问题描述】:
我正在使用 Facebook's Immutable.js 来加速我的 React 应用程序以利用 PureRender mixin。我的数据结构之一是Map(),并且该映射中的一个键具有List<Map>() 作为其值。我想知道的是,不知道要从List() 中删除的项目的索引,删除它的最佳方法是什么?到目前为止,我已经想出了以下内容。这是最好(最有效)的方式吗?
// this.graphs is a Map() which contains a List<Map>() under the key "metrics"
onRemoveMetric: function(graphId, metricUUID) {
var index = this.graphs.getIn([graphId, "metrics"]).findIndex(function(metric) {
return metric.get("uuid") === metricUUID;
});
this.graphs = this.graphs.deleteIn([graphdId, "metrics", index]);
}
(我考虑将List<Map>() 本身移动到Map(),因为列表中的每个元素都有一个UUID,但是,我还没有到那个时候。)
【问题讨论】: