运行方法后可以调整范围数据

时间:2015-01-27 18:38:43

标签: javascript json angularjs

我正在使用来自天气API的数据构建小型天气应用程序。我必须将温度从开尔文转换为摄氏温度,然后使用子串去除所有小数。但是,有时温度低于0甚至-10摄氏度,所以我必须运行for循环以确保每次都获得相同的格式(最大1位小数)。

现在我的问题。我做了一个数组,将所有温度保持在摄氏温度。然后我运行循环以确保获得正确的格式(-11.5,1.9,18.7 ....)然后我将它添加到一个新的数组,然后一个json字符串。这一切都有效,但不知怎的,我不能使用$ scope将我的数据发送到HTML文件。

我做错了什么想法?

                success(function (data, status, headers, config) {
                    $scope.forecast = data;
                    //Creates array with temperatures
                    var arrayTemp = [
                        data.list[0].temp.day-273.15,
                        data.list[1].temp.day-273.15,
                        data.list[2].temp.day-273.15,
                        data.list[3].temp.day-273.15,
                        data.list[4].temp.day-273.15,
                        data.list[5].temp.day-273.15,
                        data.list[6].temp.day-273.15
                    ];
                    //Function that takes array as parameter, and makes the right format
                    function add(array){
                        var newArray = [];
                        for (i = 0; i < array.length; i++) {
                            if (array[i] > 0) {
                                if (array[i] > 10) {
                                    var res = array[i].toString().substring(0, 4)
                                } else {
                                    var res = array[i].toString().substring(0, 3)
                                }
                            } else {
                                if (array[i] > -10) {
                                    var res = array[i].toString().substring(0, 4)
                                } else {
                                    var res = array[i].toString().substring(0, 5)
                                }
                            }
                            //Add data to new array
                            newArray.push(res);
                        }

                        //Creates json
                        var json = {"temps":{"one":newArray[0],"two":newArray[1],"three":newArray[2],"four":newArray[3],"five":newArray[4],"six":newArray[5],"seven":newArray[6]}};

                        return json;
                    }
                    var newJson = add(arrayTemp);
                    $scope.data = newJson;
                }).

0 个答案:

没有答案