如何从函数返回正确的输出?

问题描述 投票:0回答:3

我是编码新手(第二天!),在测试网站上的指导任务之后,我得到了以下代码,该代码无法正确返回,我一生都无法弄清楚。我的数学很差,所以这没有帮助,但请跟我说清楚。

为什么以下代码在传递名称数组时没有返回正确的信息。

function gatherFeedback (feedbackArray) {
    let positive = 0;
    let negative = 0;
    let neutral = 0;
    
    for (let i = 0; i < feedbackArray.length; i++) {
        if (feedbackArray[i][1] <= 10 && feedbackArray[i][1] > 6) {
            positive++;
        } else if (feedbackArray[i][1] <= 6 && feedbackArray[i][1] > 4) {
            neutral++;
        } else {
            negative++;
        }
    }
      
    let test = {'positive': positive, 'negative': negative, 'neutral': neutral}
      
    return test;
}

我通过了三项测试中的前两项,但最后一项我坚持了下来。

收集反馈的输出:

{ "positive": 2, "negative": 2, "neutral": 1 }

输出应该是

{ "positive": 2, "negative": 1, "neutral": 2 }

它应该返回一个具有三个属性的对象:一个积极的键,其值为积极评论的数量;负面评论的键,其值为负面评论的数量;并且,中立键,其值为中立评论的数量。正面 (7-10)、负面 (0-3) 或中性 (4-6) 函数 GatherFeedback 接受一个数组数组,每个数组都包含与会者姓名的字符串和显示他们评分的数字10 人中的一方

示例:

gatherFeedback([['maddie', 10], ['jatinder', 10], ['rose', 1]]);
// returns {positive: 2, negative: 1, neutral:0}
javascript arrays function object
3个回答
0
投票
function gatherFeedback(feedbackArray) {

    let positive = 0;
    let negative = 0;
    let neutral = 0;
    
    for (let i = 0; i < feedbackArray.length; i++) {
        if (feedbackArray[i][1] <= 10 && feedbackArray[i][1] >= 6) {
            positive++;
        } else if (feedbackArray[i][1] <= 6 && feedbackArray[i][1] >= 4) {
            neutral++;
        } else {
            negative++;
        }
    }
      
    let test = {'positive': positive, 'negative': negative, 'neutral': neutral}
      
    return test;
}

0
投票

else if 语句需要大于等于,而不仅仅是大于 4:

feedbackArray[i][1] >= 4
代替
feedbackArray[i][1] > 4


-1
投票
function gatherFeedback (feedbackArray){
let positive = 0;
let neutral = 0;
let negative = 0;
for (let i = 0; i<feedbackArray.length; i++)
if(feedbackArray[i][1] <= 3){ negative++; 
}else if(feedbackArray[i][1] <=6){neutral++;
} else {positive++;
}

return { 'positive': 积极, "negative" : 消极, "neutral" : 中性 }; }

© www.soinside.com 2019 - 2024. All rights reserved.