【发布时间】:2018-06-18 21:41:00
【问题描述】:
所以我有一个函数,它接收一个对象数组,其参数为 (name, traffic),其中 name 是 String,traffic 是 int。例如 [{"Monday",12},{"Tuesday",10}] 该函数应该返回具有最高流量值的名称/名称
但是我不知道如何只返回与对象关联的名称,例如“星期一”,或者如何在数组中返回共享最高流量的对象的多个名称。例如 [“星期一”、“星期二”]
这是我目前的代码;
function mostPopularDays(week) {
if (week == null || week == []){
return null;
}
/*just so it returns null if nothing is given*/
var arr = [];
var largest = week[0];
for (var i = 0; i<week.length; i++){
if (largest < week[i]){
largest = week[i]
}
}
arr.push(largest);
/*takes the largest value and puts it in an array*/
for (var i = 0; i<week.length; i++){
if (week[i.] == largest){
arr.push(week[i]);
}
}
/*takes values that have the same amount and adds them to the array*/
if(arr.length = 1){
return arr[0]
}
/*returns the object if the array has just one entry*/
return arr;
}
【问题讨论】:
-
{"Monday",12}语法无效。 -
if(arr.length = 1)不是比较。week == []将永远按您的预期工作(请参阅下面的评论)。week[i.]无效。 -
@Xufox 更糟的是,例如当
week === 0 -
@ASDFGerte 我知道,这只是为了证明我正在将对象输入到数组中
-
@Xufox 该评论是在谈论它上面而不是下面发生的事情
标签: javascript arrays string function object