OrderedMap 中某项的索引
The index of an item in OrderedMap
如标题所述,我想获取特定项目的索引。有办法吗?
const key = 1
const map = new Immutable.OrderedMap([5, 'a'], [3, 'b'], [1, 'c'])
因此,在这种情况下,key
的索引将是 2
。
您可以从映射中获取键序列:
let index = map.keySeq().findIndex(k => k === key);
或者,您可以明确地遍历键并比较它们:
function findIndexOfKey(map, key) {
let index = -1;
for (let k of map.keys()) {
index += 1;
if (k === key) {
break
}
}
return index;
}
最好的方法就是 immutablejs inners 的做法。
像这样:
const index = orderedMap._map.get(k);
https://github.com/facebook/immutable-js/blob/master/src/OrderedMap.js#L43
如果您需要键和值以及索引,您可以遍历 entrySeq
orderedMap.entrySeq().forEach((tuple,i) => console.log(`Index ${i} \n Key ${tuple[0]} \n Value ${tuple[1]}`)
如标题所述,我想获取特定项目的索引。有办法吗?
const key = 1
const map = new Immutable.OrderedMap([5, 'a'], [3, 'b'], [1, 'c'])
因此,在这种情况下,key
的索引将是 2
。
您可以从映射中获取键序列:
let index = map.keySeq().findIndex(k => k === key);
或者,您可以明确地遍历键并比较它们:
function findIndexOfKey(map, key) {
let index = -1;
for (let k of map.keys()) {
index += 1;
if (k === key) {
break
}
}
return index;
}
最好的方法就是 immutablejs inners 的做法。
像这样:
const index = orderedMap._map.get(k);
https://github.com/facebook/immutable-js/blob/master/src/OrderedMap.js#L43
如果您需要键和值以及索引,您可以遍历 entrySeq
orderedMap.entrySeq().forEach((tuple,i) => console.log(`Index ${i} \n Key ${tuple[0]} \n Value ${tuple[1]}`)