Javascript:如何获取对象的长度,但对于特定属性?

时间:2017-05-18 22:42:13

标签: javascript object

如何让有家具的儿童计算出具有财产权利的儿童椅子' 有没有办法比如house.furniture.length(chair)? 或者我是否需要使用.filter来过滤我想要的那些而不是将.length应用于过滤后的数组?

Object:
    house =[
     furniture: [{
          chair: {name: 'Sun'},
          chair: {name: 'vii'},
          table: {name: 'bing'},
     }]
    ]

1 个答案:

答案 0 :(得分:1)

正如@boovad所说,一个对象不能有两个具有相同名称的属性。数组也不能包含非数字键。因此,您需要重新构建对象。

我建议这样的事情:

var house = {
    furniture: {
        chairs: [{
            name: 'Sun'
        }, {
            name: 'Vii'
        }],
        tables: [{
            name: 'Bing'
        }],
    },
};

然后找出每种家具的数量:

house.furniture.chairs.length;  // 2
house.furniture.tables.length;  // 1