搜索不可变的JS Map

时间:2015-07-25 18:38:18

标签: javascript immutable.js

您能否建议一种最有效的方法来搜索Immutable.Map的值?我想回到第一场比赛。

https://facebook.github.io/immutable-js/

我相信我应该得到map.valueSeq()并从那里开始。我试图做这样的事情:

Immutable= require("immutable")
var keys = Immutable.Map()
k=keys.set(1,2)
var result = null
k.valueSeq().map(
    function(value) {
        if(value == 2)
            result = value
    }
)
return result

我想坚持使用Map数据结构,它在代码的其他地方使用。

2 个答案:

答案 0 :(得分:5)

您可以使用.find

var Immutable = require("immutable");
var map = Immutable.Map();
var m = map.set(1,2);
return m.find(function(val) {
    return val === 2;
});

您也可以使用m.valueSeq().find

答案 1 :(得分:0)

Immutable.Map.Find

实施例

var map = Immutable.Map()
map = map.set(1,2) //set or add data to map
var criteria=2;
var finded=map.find(function(data,key) {
    return data===criteria;//return the first value of data that return true
}, null);//return null if not found data

请参阅jsfiddle: https://jsfiddle.net/fyr5nk4x/