解释有点难,但以下是官方解释:
mostpopulardays:此函数确定一周中哪一天访问宠物店的人数最多。如果两天或两天以上的通信量最高,则应返回包含这些天的数组(以任何顺序)。如果输入为null或空数组,则函数应返回null。输入是一个工作日对象数组,这些对象是使用petstore.js底部定义的原型函数创建的。如果只有一个最流行的日子,此函数应返回一个字符串,其中包含一周中最流行的日子的名称;如果有多个最流行的日子,此函数应返回一个数组,其中包含最流行的日子的名称(作为字符串)。
所以我现在的代码是:
function mostPopularDays (week) {
var name,
dayInstance,
highestTrafficYet = -1;
for (var i = 0; i < week.length; ++i) {
dayInstance = week[i];
traffic = dayInstance.traffic;
if (highestTrafficYet < traffic) {
name = dayInstance.name;
highestTrafficYet = traffic;
}
}
return name;
}
如果存在多个相等值,如何返回数组
3条答案
按热度按时间2uluyalo1#
这将有助于:
https://jsfiddle.net/praveen_tamil/ync47bjv/18/
3gtaxfhh2#
您可以先找到访问人数最多的人,然后使用
Array#filter
去寻找那些有那么多人的日子。cidc1ykv3#
有关解释,请参见下面的注解,但如果您首先对值进行排序,则可以找到最高流量日(或其中一个)。然后使用该流量数测试其余的流量,可以过滤掉所有没有那么高的流量。最后,如果只有一个最高的日期,可以输出一个名称;如果有多个最高的日期,则可以将结果Map到name属性。