0

Following is the javascript array that I am using to populate an extra field called AverageTimeSpent. But somehow I am not able to convert it into the right format and add it accordingly.

-I tried different options. These are seen in the comments that I have added among the lines of code for entering the data.

Tried converting the array into a string and parsing it and the console loggin it and also vice versa. None of them seem to be working

var Truck_data = [

            {

                date: "15/12/19",
                details: [
                    {
                        driver_name: "ram",
                        truck_number: "KA 03 2132",
                        distance_travelled: 50,
                        orders_delivered: 45,
                        orders_missed: 10
                    },
                    {
                        driver_name: "raju",
                        truck_number: "KA 03 2354",
                        distance_travelled: 30,
                        orders_delivered: 15,
                        orders_missed: 1
                    }


            {

                date: "12/12/19",
                details: [
                    {
                        driver_name: "ram",
                        truck_number: "KA 03 2132",
                        distance_travelled: 50,
                        orders_delivered: 65,
                        orders_missed: 20
                    },
                    {
                        driver_name: "raju",
                        truck_number: "KA 03 2354",
                        distance_travelled: 30,
                        orders_delivered: 65,
                        orders_missed: 34
                    }


                ]

            }
]


        for (var j in Truck_data) {

            console.log(i);
            for (var i in Truck_data.details) {
                var temp = Math.random() * 100;
                // Truck_data.details[i].Avg_time_spent = 0;
                // Truck_data.details[i].Avg_time_spent = temp;
                Truck_data.details[i].push(Avg_time_spent, temp);
                console.log(Truck_data);
                //TruckOrder.push(array);
            }
        }
Amit Baranes
  • 7,398
  • 2
  • 31
  • 53

1 Answers1

0

Your for loop should be something like this:

for (var j of Truck_data) {
    var innerDetails = j.details;
    for (var i of innerDetails) {
        var temp = Math.random() * 100;
        i['Avg_time_spent'] = temp;
    }
}

Previously you're using 'for in' and you should use 'for of' for what you're trying to do.

See this

Ramesh Reddy
  • 10,159
  • 3
  • 17
  • 32