<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
let mergedScreensAllCompanies = [];
let userScreens = [];
// criar arrays com 10 mil elementos
for (let i = 1; i < 10000; i++) {
mergedScreensAllCompanies.push({ id: i, description: `Cadastro ${i}`});
userScreens.push({ id: i, user_id: i, screen_id: i, foo: `foo ${i}` });
}
let merged = {};
for (let i = 0; i < mergedScreensAllCompanies.length; i++) {
merged[mergedScreensAllCompanies[i].id] = mergedScreensAllCompanies[i];
}
for (let i = 0; i < userScreens.length; i++) {
if (merged[userScreens[i].screen_id]) {
merged[userScreens[i].screen_id].user_id = userScreens[i].user_id;
merged[userScreens[i].screen_id].screen_id = userScreens[i].screen_id;
merged[userScreens[i].screen_id].foo = userScreens[i].foo;
}
}
merged = Object.values(merged);
let merged = {};
for (let i = 0; i < mergedScreensAllCompanies.length; i++) {
merged[mergedScreensAllCompanies[i].id] = mergedScreensAllCompanies[i];
}
for (let i = 0; i < userScreens.length; i++) {
if (merged[userScreens[i].screen_id]) {
merged[userScreens[i].screen_id] = { ...merged[userScreens[i].screen_id], ...userScreens[i] };
}
}
merged = Object.values(merged);
let merged = {};
for (const screen of mergedScreensAllCompanies) {
merged[screen.id] = screen;
}
for (const userScreen of userScreens) {
if (merged[userScreen.screen_id]) {
merged[userScreen.screen_id] = { ...merged[userScreen.screen_id], ...userScreen };
}
}
merged = Object.values(merged);
let merged = userScreens.map((screen) => ({
...mergedScreensAllCompanies.find((o) => o.id === screen.screen_id),
...screen
}));
let merged = _.map(userScreens, (screen) =>
_.merge(
_.find(mergedScreensAllCompanies, (o) => o.id === screen.screen_id),
screen
)
);