如何使用ES6查找ARRAY的长度:
var x = [{a:"apple", b:"Baloon"},{a:"elephant", b:"dog"}];
var results = x.filter(aValue => aValue.length > 3);
console.log(results);
注意: 如果这是单独的数组列表,aValue.length就可以工作了。但是,因为这些是分配给属性的值。防爆; a:苹果,需要差异方法。
我需要更换" aValue.length" 以找到大于3的值的长度的正确代码,所以答案是什么会是苹果,气球和大象吗?
答案 0 :(得分:5)
这将满足您的需求
var results = x.filter(val => Object.keys(val).length > 3)
Object.keys()
方法返回对象中包含的所有键的数组。
答案 1 :(得分:2)
对象没有长度属性。但是有一个小技巧可以让你拥有一个对象的键数。
有两种方法可以使用。 Object.getOwnPropertyNames(val).length 和 Object.keys(val).length
然而,两者之间存在一点差异。 Object.getOwnPropertyNames(a)返回对象a的所有属性。 Object.keys(a)返回所有可枚举的自有属性。