Sniberb
Sniberb13mo ago

snowberb – 15-27 Jul 6

can someone explain to me what this code does in like a really dumb way so everyone could understand it?
const parts = path
.slice(1)
.split("/")
.filter((i) => Boolean(i));
let res = obj;

for (let i = 0; i < parts.length; i++) {
let part = parts[i];
res = res[part];
}
return res
const parts = path
.slice(1)
.split("/")
.filter((i) => Boolean(i));
let res = obj;

for (let i = 0; i < parts.length; i++) {
let part = parts[i];
res = res[part];
}
return res
4 Replies
lebouwski
lebouwski13mo ago
const parts = path
.slice(1)
.split("/")
.filter((i) => Boolean(i));
const parts = path
.slice(1)
.split("/")
.filter((i) => Boolean(i));
this takes a path like "/foo/bar/baz" and turns it into ['foo', 'bar', 'baz']
let res = obj;
let res = obj;
this is presumably a directory tree, an object like
{
foo: {
bar: {
baz: 42
}
}
}
{
foo: {
bar: {
baz: 42
}
}
}
and then
for (let i = 0; i < parts.length; i++) {
let part = parts[i];
res = res[part];
}
for (let i = 0; i < parts.length; i++) {
let part = parts[i];
res = res[part];
}
traverses the object, going in to each folder. so at the end you'd be left with 42
Unknown User
Unknown User13mo ago
Message Not Public
Sign In & Join Server To View
lebouwski
lebouwski13mo ago
yeah filter(boolean) handles that too
reactibot
reactibot13mo ago
This thread hasn’t had any activity in 36 hours, so it’s now locked. Threads are closed automatically after 36 hours. If you have a followup question, you may want to reply to this thread so other members know they're related. https://discord.com/channels/102860784329052160/565213527673929729/1126534875214774342