Me preguntaba si hay una forma sencilla, una función integrada para dividir un diccionario en javascript.
Por ejemplo:
mi diccionario es:
let data = { "Is your salary above 1000$?":["yes","no",false,0], "Is your salary above 2000?":["yes","no",false,1], "Is your salary above 3000?":["yes","no",false,2], "Is your salary above 4000?":["yes","no",false,3], "Is your salary above 5000?":["yes","no",false,4]}quiero que sea:
data1 = { "Is your salary above 1000$?":["yes","no",false,0], "Is your salary above 2000?":["yes","no",false,1]} data2 = { "Is your salary above 3000?":["yes","no",false,2], "Is your salary above 4000?":["yes","no",false,3], "Is your salary above 5000?":["yes","no",false,4]}Puedo hacerlo a través de bucles, pero me preguntaba si hay una forma más rápida o una función integrada, busqué pero no encontré nada que haga eso.
const data = { "Is your salary above 1000$?": ["yes", "no", false, 0], "Is your salary above 2000$?": ["yes", "no", false, 1], "Is your salary above 3000$?": ["yes", "no", false, 2], "Is your salary above 4000$?": ["yes", "no", false, 3], "Is your salary above 5000$?": ["yes", "no", false, 4], }; const sliceAt = 2; const dataArr = Object.entries(data); const obA = Object.fromEntries(dataArr.slice(0, sliceAt)); const obB = Object.fromEntries(dataArr.slice(sliceAt)); console.log(obA); console.log(obB);Use Object.entries para convertirlo en una matriz. Luego use el splice para dividirlo. Luego use Object.fromEntries() para convertir las matrices nuevamente en objetos.
let data = { "Is your salary above 1000$?": ["yes", "no", false, 0], "Is your salary above 2000?": ["yes", "no", false, 1], "Is your salary above 3000?": ["yes", "no", false, 2], "Is your salary above 4000?": ["yes", "no", false, 3], "Is your salary above 5000?": ["yes", "no", false, 4] } const end = Object.entries(data); const start = end.splice(0, 2); // Take two entries off the front of the array const results = [start, end].map(Object.fromEntries); console.log(results);