gpt4 book ai didi

javascript - 将数组内的数组转换为平均值

转载 作者:太空宇宙 更新时间:2023-11-04 15:39:39 25 4
gpt4 key购买 nike

我正在尝试转换:

var ic = [[[123,231,12],[56,43,124]],[[78,152,76],[64,132,200]]]

to(子数组的每个元素都有子数组的平均值)

var ig = [[[122,122,122],[74,74,74]],[[102,102,102],[132,132,132]]]

这是我的代码,平均函数可以工作,但它没有返回正确的新数组:

var color2grey = function (image /* this is the image in color*/) {

const average = function([a,b,c]) {
return [((a+b+c)/3), ((a+b+c)/3), ((a+b+c)/3)]
};

return image.map(function(subArray) {
average(subArray);
});

}

这就是我得到的:

returns- (2) [undefined, undefined] 0 : undefined 1 : undefined length : 2 proto : Array(0)

最佳答案

您可以使用map()方法创建新数组,在内部您可以使用reduce()计算每个数组的平均值和Array.fill( ) 将平均值添加到新数组。

var ic = [[[123,231,12],[56,43,124]],[[78,152,76],[64,132,200]]] 

var result = ic.map(a => a.map(function(e) {
var avg = e.reduce((r, e) => r + e) / e.length
return Array(e.length).fill(parseInt(avg))
}))

console.log(result)

关于javascript - 将数组内的数组转换为平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44002252/

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