underscore.js:使用_.where进行密钥比较

时间:2014-01-27 05:24:52

标签: javascript underscore.js

如果我想使用_.where找到一个与我的varibale在非核心js中的时间戳具有相同时间戳的对象。

我有数组命名数据,我想检查key2。$ subkey是否等于“2014-01-27T16:50:33.035Z”。

以下是相同的代码。

 var data=[{{key1":"key1"},{ "key2" : { "$subkey" : "2014-01-27T16:50:33.035Z"}}},  {{key1":"key1"},{ "key2" : { "$subkey" : "2014-01-27T12:50:33.035Z"}}}];

 var match=_.where(data,{key2.$subkey="2014-01-27T16:50:33.035Z"})

如何使用underscorejs

来比较一个本身就是对象的键

1 个答案:

答案 0 :(得分:1)

使用filter功能:

var match = _.filter(
    data,
    function (x)
    {
        return x.key2.$subkey == "2014-01-27T16:50:33.035Z"
    })

它接受一个谓词函数,用于确定是否保留每个项目。

where函数只是filter函数的一个特化,可以非常容易地实现。