Javascript 搜索不可变的JS映射

Javascript 搜索不可变的JS映射,javascript,immutable.js,Javascript,Immutable.js,你能推荐一种最有效的方法来搜索Immutable.Map的值吗?我期待着第一场比赛的回归 我认为我应该得到一个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)

你能推荐一种最有效的方法来搜索Immutable.Map的值吗?我期待着第一场比赛的回归

我认为我应该得到一个
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
我想继续使用地图数据结构,它在代码的其他地方使用。

您可以使用:

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

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
请参见JSFIDLE上的:

您到底在搜索什么?如果你有这个值,为什么你需要查找它?或者您想按键查找值吗?返回值应实际读取为return m.find(函数(val){return val==2;})@本巴德:接得好!修正。不幸的是,这似乎不起作用。您似乎无法使用
.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