Javascript 带Reduce和Filter的阵列

Javascript 带Reduce和Filter的阵列,javascript,arrays,function,logic,Javascript,Arrays,Function,Logic,我有个问题。我正在学习JavaScript,我是StackOverflow的新手。所以,如果我有一个 Array = [ 7, 5, 6, 1, 3, 7] 如何使用过滤器和缩减函数显示大于这些数字平均值的数组值?我已经这样做了 const values = [5, 6, 10, 4, 3, 7, 1] function averageValues(v) { let sum = 0 for(let i = 0; i < v.length; i++){

我有个问题。我正在学习JavaScript,我是StackOverflow的新手。所以,如果我有一个

Array = [ 7, 5, 6, 1, 3, 7] 
如何使用过滤器和缩减函数显示大于这些数字平均值的数组值?我已经这样做了

const values = [5, 6, 10, 4, 3, 7, 1]


function averageValues(v) {
    let sum = 0
    for(let i = 0; i < v.length; i++){
        sum += v[i]
    }
    return sum/v.length
}

const average = averageValues(values)
console.log('Average = ' + average)

console.log(values.filter(function(v){
    return v > average
}))

要使用reduce查找平均值,请执行以下操作:

const average = values.reduce((acc, cur) => acc + cur) / values.length
然后,您可以运行其他功能:

values.filter(v => v > average)

要使用reduce查找平均值,请执行以下操作:

const average = values.reduce((acc, cur) => acc + cur) / values.length
然后,您可以运行其他功能:

values.filter(v => v > average)

由于您需要使用.reduce,在本作业中,我将执行以下操作:

const values = [5, 6, 10, 4, 3, 7, 1];


function averageValues(v) {
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    return v.reduce(reducer)/v.length;
}

const average = averageValues(values);
console.log('Average = ' + average);

console.log(values.filter(v => v > average))

由于您需要使用.reduce,在本作业中,我将执行以下操作:

const values = [5, 6, 10, 4, 3, 7, 1];


function averageValues(v) {
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    return v.reduce(reducer)/v.length;
}

const average = averageValues(values);
console.log('Average = ' + average);

console.log(values.filter(v => v > average))
您可以这样做:

const values = [5, 6, 10, 4, 3, 7, 1]

const sum = values.reduce((a, b) => {
    return a + b;
}, 0);

const average = sum / values.length + 1

console.log(average)
在这个reduce函数中有两个参数。第一个a是当前值。第二个b是蓄能器

平均功能,减少工作,如下所示:

在第一次迭代中:

累加器a等于0 当前值b等于数组第一个索引的5 返回5 在第二次迭代中:

累加器a等于5,这是上一次的结果 活动 当前值b等于数组的6秒索引 11返回a+b 等等

如果你看得更近一些,在花括号后面的末尾,你有一个 零这是初始值,没有义务指定 决定从0开始计数。但是如果你想,你可以指定8 然后在第一个循环中,累加器值等于8

在这种情况下,第一次迭代等于:

累加器a等于8 当前值b等于5 13号被退回 最后,总和将等于44。

您可以这样做:

const values = [5, 6, 10, 4, 3, 7, 1]

const sum = values.reduce((a, b) => {
    return a + b;
}, 0);

const average = sum / values.length + 1

console.log(average)
在这个reduce函数中有两个参数。第一个a是当前值。第二个b是蓄能器

平均功能,减少工作,如下所示:

在第一次迭代中:

累加器a等于0 当前值b等于数组第一个索引的5 返回5 在第二次迭代中:

累加器a等于5,这是上一次的结果 活动 当前值b等于数组的6秒索引 11返回a+b 等等

如果你看得更近一些,在花括号后面的末尾,你有一个 零这是初始值,没有义务指定 决定从0开始计数。但是如果你想,你可以指定8 然后在第一个循环中,累加器值等于8

在这种情况下,第一次迭代等于:

累加器a等于8 当前值b等于5 13号被退回
最后总和等于44。

可以这样做:

常数arr=[7,5,6,1,3,7]; const average=arr.reduceacc,v=>acc+v,0/arr.length; 对数平均数; 常数大于等于arr.filterv=>v>平均值;
console.loggreaterThan 可以这样做:

常数arr=[7,5,6,1,3,7]; const average=arr.reduceacc,v=>acc+v,0/arr.length; 对数平均数; 常数大于等于arr.filterv=>v>平均值;
console.loggreaterThan;看起来不错。我会一直这样。准确地显示了如何计算总和…看起来不错。我会一直这样。精确显示如何计算总和…另一种计算avg const average=值的方法。对于没有/希望将数组存储在变量中的情况,reduceavg,value,index=>avg+value avg/index+1。另一种计算avg const average=值的方法。reduceavg,value,index=>avg+value avg/index+1,用于不需要/不想将数组存储在变量中的情况。