我使用lodash.js,但似乎没有办法做到这一点。 我试过自己,但对结果不满意
function checkHighestArrayCountFromObject(object) {
var counter = 0;
for (let property in object) {
if (object.hasOwnProperty(property)) {
counter = object[property].length > counter ? object[property].length : counter
}
}
return counter
}
var obj = {
a: [2, 3, 4, 5],
b: [2, 3, 4],
c: [2, 3],
d: [2],
}
console.log(checkHighestArrayCountFromObject(obj)) // => length of (a) should be returned
我没看到什么。
答案 0 :(得分:1)
您可以使用Object.values
从对象获取值,
将它们映射到它们的长度,
最后使用reduce
找到最大值:
Object.values(obj).map(a => a.length).reduce((a, b) => Math.max(a, b))
答案 1 :(得分:0)
另一种写这个的简洁方法是使用curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
:
*/**/*.js
答案 2 :(得分:0)
如果使用Lodash,您可以使用_.max
:
_.max(Object.values(obj).map(a => a.length))
答案 3 :(得分:0)
const obj = {
a : [2,3,4,5],
b : [2,3,4,],
c : [2,3],
d : [2],
}
_.chain(obj)
.reduce((max,v,k)=> {
if(v.length>max.len){
max.len = v.length;
max.key=k
};
return max
},{len:-1,key:''})
.get('key').value()
或者只需对obj执行reduce操作并从结果中获取属性键
答案 4 :(得分:0)
如果使用lodash,您可以使用reduce
_.reduce(obj, (max, n) => n.length > max ? n.length : max, 0);