gpt4 book ai didi

javascript - Lodash 使用 pickBy 而不是 each

转载 作者:行者123 更新时间:2023-11-30 14:40:34 27 4
gpt4 key购买 nike

你好,我有一个问题要使用 lodash 重构我的代码,我做了一个程序来计算一个对象的整数的平均值。我想使用 _.pickBy 而不是 _.each。

这是我的带有 _.each 的程序:

var my_obj = {a: 1, b:2, c: 'foo', d: 'bar', w:3, z:4};

function mean(obj) {
var temp=0;
var count=0;
_.each(obj, function(value, key){
if(_.isNumber(value)){
result += value
count += 1
}
})
return temp / count;
}
mean(my_obj) //outputs is 2.5 in this exemple

我被困在 _isNumber 和 _.pickBy 中:

function mean(obj) {
var result = 0
return _.pickBy(obj, function(value, key){
return _.isNumber{(value)
// how to have the sum and divise by the number of integer objects ?
})
}

最佳答案

因为你想要一个数字数组,而不是一个对象,所以使用 _.filter()_.isNumber()获取数字数组,然后返回 _.mean()数组的:

function mean(obj) {
return _.mean(_.filter(obj, _.isNumber));
}

var my_obj = {a: 1, b:2, c: 'foo', d: 'bar', w:3, z:4};

console.log(mean(my_obj));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>

关于javascript - Lodash 使用 pickBy 而不是 each,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49748562/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com