⏳۵۰٪ تخفیف فقط تا پایان جشنواره؛ بعدش همهچیز به قیمت قبل برمیگرده!
مشاهده دورههاسلام. من یک لیست دارم. بعضی اوقات قسمت children آرایه خالی دریافت میکنم. میخوام اگه آرایه خالی بود کلا آبجکت داخلی حدف بشه
const items= [{name:"test1",children:[{name:"child1", children:[{name:"sub-child1"}]},{name:"child2", children:[]}]}]
یعنی آرایه بالا باید تغیییر پیدا کنه به
const items= [{name:"test1",children:[{name:"child1", children:[{name:"sub-child1"}]}]}]
ممنون میشم کمکم کنید
@kamran.davar
سلام. این به صورت تو در تو تا بینهایت delete رو انجام میده.
const items = [
{
name: 'test1',
children: [
{ name: 'child1', children: [{ name: 'sub-child1' }] },
{ name: 'child2', children: [] },
],
},
];
const recursiveDelete = (arr) => {
arr.map((item, index) => {
if (!item.children || item.children.length == 0) {
arr.splice(index, 1);
}
if (item.children && item.children.length !== 0) {
recursiveDelete(item.children);
}
});
};
recursiveDelete(items);
console.log(items);اگر کدها رو بصورت تک خطی قرار ندید، و بصورت پله ای باشه، فهم متغیرتون ساده تر خواهد بود.
شما می تونید با استفاده از
https://jsonformatter.curiousconcept.com/
آرایه هاتون رو بهتر کنید.
[
{
"name":"test1",
"children":[
{
"name":"child1",
"children":[
{
"name":"sub-child1"
}
]
},
{
"name":"child2",
"children":[
]
}
]
}
]
[
{
"name":"test1",
"children":[
{
"name":"child1",
"children":[
{
"name":"sub-child1"
}
]
}
]
}
]
لطفا بگید خروجی از کجا میاد.
شاید پاسخ شما همینجا باشد
سلام @parastooebrahimi
const items = [
{
name: "test1",
children: [
{ name: "child1", children: [{ name: "sub-child1" }] },
{ name: "child2", children: [] },
],
},
];
for (var i = 0; i < items[0].children.length ; i++){
if (items[0].children[i].children.length == 0){
delete items[0].children[i]
}
}