运算符比较 returns 错误值
Operator comparison returns wrong value
我在编程方面有一些很好的经验,但我是 Javascript 的新手。我 运行 通过 if 函数中的比较得出了意想不到的结果。
在下面的函数中,if.function 中有一个双重比较。当 .name 已经在列表中时,第一次比较预计 return 为假。但是其中一个测试 return 是一个工作日出现两次的集合。
在调试器中,比较 ls.name != MPopArray[0].name
returns true 基本上说 "Saturday"!="Saturday"
是 TRUE。所以我的问题是它是如何得到这个结果的?
function mostPopularDays(week) {
week.sort(function (a,b) {return b.traffic-a.traffic})
var highestTraffic = week[0].traffic
var MPopArray = []
MPopArray[0] = week[0].name
for (const ls of week) {
if ((ls.name != MPopArray[0].name) && (ls.traffic==highestTraffic)) {
MPopArray.push(ls.name)
}
}
return MPopArray
}
该函数遍历一周并确定一周中哪一天的流量最高。如果一周中不止一天具有相同的流量,则该天将附加到列表中。(例如 ["Wednesday"、"Thursday"])。
中的第一个条件
测试数据集
var Test1MPD = [
{ name: 'Thursday', traffic: 100 },
{ name: 'Friday', traffic: 100 },
{ name: 'Saturday', traffic: 101 }
];
var Test1ResultMPD = mostPopularDays(Test1MPD)
console.log(Test1MPD)
console.log(Test1ResultMPD)
在我使用的测试数据集上,我期望 ls.name != MPopArray[0].name 到 return 一个错误条件。
结果return由函数编辑
["Saturday", "Saturday"]
您可以对数组进行排序,取一个索引来比较以下项目 traffic
并将实际名称推送到结果集中。
function mostPopularDays(week) {
var index = 0,
result = [];
week.sort((a, b) => b.traffic - a.traffic);
while (index < week.length && week[0].traffic === week[index].traffic) {
result.push(week[index++].name);
}
return result;
}
var test1MPD = [{ name: 'Thursday', traffic: 100 }, { name: 'Friday', traffic: 100 }, { name: 'Saturday', traffic: 101 }];
console.log(mostPopularDays(test1MPD));
我在编程方面有一些很好的经验,但我是 Javascript 的新手。我 运行 通过 if 函数中的比较得出了意想不到的结果。
在下面的函数中,if.function 中有一个双重比较。当 .name 已经在列表中时,第一次比较预计 return 为假。但是其中一个测试 return 是一个工作日出现两次的集合。
在调试器中,比较 ls.name != MPopArray[0].name
returns true 基本上说 "Saturday"!="Saturday"
是 TRUE。所以我的问题是它是如何得到这个结果的?
function mostPopularDays(week) {
week.sort(function (a,b) {return b.traffic-a.traffic})
var highestTraffic = week[0].traffic
var MPopArray = []
MPopArray[0] = week[0].name
for (const ls of week) {
if ((ls.name != MPopArray[0].name) && (ls.traffic==highestTraffic)) {
MPopArray.push(ls.name)
}
}
return MPopArray
}
该函数遍历一周并确定一周中哪一天的流量最高。如果一周中不止一天具有相同的流量,则该天将附加到列表中。(例如 ["Wednesday"、"Thursday"])。
中的第一个条件测试数据集
var Test1MPD = [
{ name: 'Thursday', traffic: 100 },
{ name: 'Friday', traffic: 100 },
{ name: 'Saturday', traffic: 101 }
];
var Test1ResultMPD = mostPopularDays(Test1MPD)
console.log(Test1MPD)
console.log(Test1ResultMPD)
在我使用的测试数据集上,我期望 ls.name != MPopArray[0].name 到 return 一个错误条件。
结果return由函数编辑
["Saturday", "Saturday"]
您可以对数组进行排序,取一个索引来比较以下项目 traffic
并将实际名称推送到结果集中。
function mostPopularDays(week) {
var index = 0,
result = [];
week.sort((a, b) => b.traffic - a.traffic);
while (index < week.length && week[0].traffic === week[index].traffic) {
result.push(week[index++].name);
}
return result;
}
var test1MPD = [{ name: 'Thursday', traffic: 100 }, { name: 'Friday', traffic: 100 }, { name: 'Saturday', traffic: 101 }];
console.log(mostPopularDays(test1MPD));