Skip to main content

How to iterate an array of indexed objects

I have an array of objects that is indexed and I want to iterate through it to convert it to a new flat array.

This is the array of objects:

"attentionSchedules": [
    {
        "room": "1",
        "schedules": [
            {
                "days": [
                    "SA",
                    "WE"
                ],
                "_id": "6271xxxx",
                "initialTimeStr": "12:00 am",
                "finalTimeStr": "12:00 am",
                "initialTime": "2022-05-03T06:00:00.000Z",
                "finalTime": "2022-05-03T06:00:00.000Z"
            }
        ],
        "place": {
            "loc": {
                "type": "Point",
                "coordinates": [
                    -88.03xxx,
                    15.49xxx
                ]
            },
            "_idPlace": "5d5ba845xxx",
            "name": "Labs",
            "address": "xxx"
        },
        "floor": 1
    },
    {
        "room": "23",
        "floor": 1,
        "schedules": [
            {
                "days": [
                    "MO",
                    "TH",
                    "WE",
                    "YOU",
                    "FR",
                    "SA"
                ],
                "_id": "62754264a627af5fc44286b3",
                "initialTimeStr": "08:00 am",
                "finalTimeStr": "09:00 pm",
                "initialTime": "2022-05-06T14:00:00.000Z",
                "finalTime": "2022-05-07T03:00:00.000Z"
            }
        ],
        "place": {
            "loc": {
                "type": "Point",
                "coordinates": [
                    -88.02xxx,
                    15.50xxx
                ]
            },
            "_idPlace": "ba",
            "name": "Labs",
            "address": "xx"
        }
    }
],

I want to iterate over it, get its values ​​and convert it to a new object like this:

{
lng: -88.02xxx
lat: 15.50xxx
_idPlace: "ba"
}
.
.
.
N

How can I do this? I'm using angular, I'm doing the method with javascript/types Currently I did something like this:

let locCoord: any[] = [];
      this.attentionSchedules?.forEach(elm => {
        for (const [key, value] of Object.entries(elm.place.loc)) {
          let lng = value[0];
          let lat = value[1];

          let dataObjLoc = {
            _id: elm.place._id,
            lat: lat,
            lng: lng
          }

          locCoord.push(dataObjLoc);
        }
      });
      console.log(locCoord);

And it returns the following:

[
    {
        "_idPlace": "5d5ba84531f75411f3b6417e",
        "lat": "or",
        "lng": "P"
    },
    {
        "_idPlace": "5d5ba84531f75411f3b6417e",
        "lat": 15.4997741,
        "lng": -88.03860120000002
    },
    {
        "_idPlace": "6109766f913cf469f6b177ba",
        "lat": "or",
        "lng": "P"
    },
    {
        "_idPlace": "6109766f913cf469f6b177ba",
        lat: 15.5085874,
        "lng": -88.0264096
    }
]

It is not what I need, since when using Object.entries it not only extracts the values ​​but also duplicates the keys. Somebody could help me? Please

Via Active questions tagged javascript - Stack Overflow https://ift.tt/anWKjrH

Comments

Popular posts from this blog

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

The number of nodes and edges I calculated manually and by a method provided by networkx library dont match

I am trying to analyse a graph using networkx library in Python. I have implemented a function that returns the nodes and edges of that graph. After that I counted the number of nodes and edges by implementing the len() function for nodes and edges, which gave me 17 for both nodes and edges. However, when I used the method graph.number_of_nodes() of networkx library it gave me 53. My code: import pandas as pd import networkx as nx import matplotlib.pyplot as plt header_list = ["a","b","w"] E =pd.read_csv("aves-barn-swallow-contact-network.edges",sep=" ",header= None,names=header_list) # print(E.head()) # prints first few rows of the csv file G = nx.from_pandas_edgelist(E,"a","b",["w"]) nx.draw(G) plt.show() class GraphAnalyse: #finding nodes and edges def nodeEdge(self,Graph): nodes = Graph.nodes() edges = Graph.edges() ...