OrderedMap中项目的索引

Aza*_*hli 5 javascript immutable.js

正如标题所述,我想获得特定项目的索引.有没有办法做到这一点?

const key = 1
const map = new Immutable.OrderedMap([5, 'a'], [3, 'b'], [1, 'c'])
Run Code Online (Sandbox Code Playgroud)

所以,在这种情况下,索引key将是2.

Fel*_*ing 6

您可以从地图中获取按键顺序:

let index = map.keySeq().findIndex(k => k === key);
Run Code Online (Sandbox Code Playgroud)

请参阅文档以获取更多信息。

或者,您可以显式迭代键并比较它们:

function findIndexOfKey(map, key) {
    let index = -1;
    for (let k of map.keys()) {
        index += 1;
        if (k === key) {
            break
        }
    }
    return index;
}
Run Code Online (Sandbox Code Playgroud)