Javascript 不抛出错误,但不记录到控制台进行测试

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,

早上好。我试图使用for循环和if/else语句来计算人口密度。当记录结果时,我没有得到任何错误,但也没有得到可变密度的日志结果。想知道人们是否能看到我在我的功能中遗漏了什么。谢谢

        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现在正在登录控制台。