通过嵌套对象id获取对象的长度?

时间:2015-10-20 15:27:56

标签: javascript underscore.js

我目前正在使用_.size(obj)对象的长度使用下划线,这很好,但我想知道如何更深入地获得id等于{{1}的对象的长度在我的例子中。我不确定这是否可以通过使用下划线来实现,或者我是否需要使用for..in循环并进行某种计数?

JS console.clear();

123

JSFiddle: http://jsfiddle.net/kyllle/0yam33ow/

1 个答案:

答案 0 :(得分:1)

您可以将对象转换为数组,然后使用.filter获取只有123的商品:

var arr = _.values(obj);
var newObj = arr.filter(function(item){
    return item.id === '123';
});

console.log(_.size(newObj)); // 2

您可以使用下划线_.where来执行相同的操作:

var newObj = _.where(obj, {id: '123'});

Fiddle Example