Javascript 不抛出错误,但不记录到控制台进行测试
早上好。我试图使用for循环和if/else语句来计算人口密度。当记录结果时,我没有得到任何错误,但也没有得到可变密度的日志结果。想知道人们是否能看到我在我的功能中遗漏了什么。谢谢Javascript 不抛出错误,但不记录到控制台进行测试,javascript,for-loop,if-statement,Javascript,For Loop,If Statement,早上好。我试图使用for循环和if/else语句来计算人口密度。当记录结果时,我没有得到任何错误,但也没有得到可变密度的日志结果。想知道人们是否能看到我在我的功能中遗漏了什么。谢谢 var cityCoords = [[30.5833302, -114.2666702], [48.864716, 2.349014],[40.730610, -73.935242 ]] // city coords var cityPops = [8266000, 10958000,
var cityCoords = [[30.5833302, -114.2666702], [48.864716, 2.349014],[40.730610, -73.935242 ]] // city coords
var cityPops = [8266000, 10958000, 19491339] // city populations
var cityAreas = [3280, 41, 303]// city areas in sq. miles
// NOTE. You can use the arrays you built in Lab 3, just make sure you keep track of your variable names
var button = document.getElementById("map-cities");
button.addEventListener("click", function () {
var units = prompt('Enter the units for calculating population density', 'Enter "miles" or "km"');
var mapCities = function(){ // assign function to variable mapCities
mapCities(units); // call mapCities function units variable as an argument
}
// call a function named mapCities, and send the units variable as an argument
}); // addEventListener callback function ends here
// Define function
function mapCities(units) {
for (var i = 0; i < cities.length; i++) {
var cityName = cities[i] ;
var cityNumPeeps = cityPops[i];
var cityZone = cityAreas[i];
var density = calcPopDensity(CityNumPeeps, CityZone, units); // call calcPopDensity passing population, cityZone and units as arguments
console.log(density);
}
};
function calcPopDensity(pop,area,unit){
if (units == "miles"){
cityZone/cityNumPeeps
return
} else if (units == "km"){
cityZone * 1.60934 / cityNumPeeps
return
}
};
var cityCoords=[[30.5833302,-114.2666702],[48.864716,2.349014],[40.730610,-73.935242]//城市坐标
var cityPops=[82660001095800019491339]//城市人口
var cityreas=[3280,41303]//城市面积(平方英里)
//注意。您可以使用在Lab 3中构建的数组,只需确保跟踪变量名即可
var button=document.getElementById(“地图城市”);
按钮。addEventListener(“单击”),函数(){
var units=prompt('输入计算人口密度的单位','输入“英里”或“公里”);
var mapCities=function(){//将函数分配给变量mapCities
mapCities(units);//调用mapCities函数units变量作为参数
}
//调用名为mapCities的函数,并将units变量作为参数发送
}); // addEventListener回调函数到此结束
//定义函数
功能地图城市(单位){
对于(变量i=0;i
有。。。这里有几个问题。但是,我们都从错误中学习
var cityCoords = [[30.5833302, -114.2666702], [48.864716, 2.349014],[40.730610, -73.935242 ]]
var cityPops = [8266000, 10958000, 19491339]
var cityAreas = [3280, 41, 303]
var button = document.getElementById("map-cities");
button.addEventListener("click", function () {
var units = prompt('Enter the units for calculating population density', 'Enter "miles" or "km"');
mapCities(units); // <= You just want to call the function here, no need to do the function-wrapping you had!
}
});
function mapCities(units) {
for (var i = 0; i < cities.length; i++) { // <= You don't actually have this array defined (cities)?
var cityName = cities[i] ;
var cityNumPeeps = cityPops[i];
var cityZone = cityAreas[i];
var density = calcPopDensity(CityNumPeeps, CityZone, units); // <= match case - 'cityNumPeeps' vs 'CityNumPeeps' etc
console.log(density);
}
};
function calcPopDensity(pop,area,unit){
if (units == "miles"){
return cityZone/cityNumPeeps // <= move the return to this line - we want the result of the calculation back!
} else if (units == "km"){
return cityZone * 1.60934 / cityNumPeeps // <= again, return statement
}
};
var cityCoords=[[30.5833302,-114.2666702],[48.864716,2.349014],[40.730610,-73.935242]]
var cityPops=[82660001095800019491339]
var cityreas=[3280,41303]
var button=document.getElementById(“地图城市”);
按钮。addEventListener(“单击”),函数(){
var units=prompt('输入计算人口密度的单位','输入“英里”或“公里”);
mapCities(units);/@ZacStanley不,您的calcPopDensity
方法中只有'unit',其他所有方法中都有'units',只需重命名varthank you@josh.trow。density现在正在登录控制台。