Soy nuevo en Vue y Javascript y para mi trabajo necesito encontrar la sala específica a la que se conectó cierto usuario. Todavía estoy aprendiendo, así que no soy muy bueno con las funciones de ES6 o javascript.
Necesito buscar el ID de usuario en las habitaciones y devolver el nombre de la clave ('pre', 'mid', 'post') si se encuentra el ID, si no, devolver nulo
const userId = "321b66bb-b44f-4859-994a-a339e604df62"; const rooms = { "pre": [ { "id": "321b66bb-b44f-4859-994a-a339e604df62", "name": "George", "age": "27", "color": "#0B8043", "callIndex": 960433 }, { "id": "1111111-11111-1111-1111-111111111111", "name": "John", "age": "30", "color": "#0B8043", "callIndex": 4444444 }, ], "mid": [ { "id": "1111111-11111-1111-1111-111111111112", "name": "John2", "age": "30", "color": "#0B8043", "callIndex": 4444444 }, ], "post": [] };Puede iterar a través de cada clave y luego comparar la id con el ID de userId pasado y devolver el nombre de la clave.
const userId = "321b66bb-b44f-4859-994a-a339e604df62", rooms = { "pre": [ { "id": "321b66bb-b44f-4859-994a-a339e604df62", "name": "George", "age": "27", "color": "#0B8043", "callIndex": 960433 }, { "id": "1111111-11111-1111-1111-111111111111", "name": "John", "age": "30", "color": "#0B8043", "callIndex": 4444444 }, ], "mid": [ { "id": "1111111-11111-1111-1111-111111111112", "name": "John2", "age": "30", "color": "#0B8043", "callIndex": 4444444 }, ], "post": [] }, result = Object.keys(rooms).find(k => rooms[k].some(({id}) => id === userId)) || null; console.log(result);Tarea fácil
const userId = "321b66bb-b44f-4859-994a-a339e604df62"; const rooms = { "pre": [{ "id": "321b66bb-b44f-4859-994a-a339e604df62", "name": "George", "age": "27", "color": "#0B8043", "callIndex": 960433 }, { "id": "1111111-11111-1111-1111-111111111111", "name": "John", "age": "30", "color": "#0B8043", "callIndex": 4444444 }, ], "mid": [{ "id": "1111111-11111-1111-1111-111111111112", "name": "John2", "age": "30", "color": "#0B8043", "callIndex": 4444444 }, ], "post": [] }; function search(id) { for (let key in rooms) { // key is pre, mid or post for (let item of rooms[key]) { // item is an object containing id if (item.id === id) return key } } return null } console.log(search(userId))