ধরুন, আমাদের কাছে এই ধরনের বস্তুর একটি নেস্টেড অ্যারে আছে −
const arr = [ { value: 'some value' }, { array: [ { value: 'some value' }, { array: [ { value: 'some value' }, { value: 'some value' }, ], }, { value: 'some value' }, { array: [ { value: 'some value' }, { array: [ { value: 'delete me' }, { value: 'some value' }, ] }, ], }, ], } ];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্টের মতো একটি অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে সূচকগুলির একটি অ্যারে নেয়৷
আমাদের ফাংশন অ্যারে (দ্বিতীয় আর্গুমেন্ট) দ্বারা নির্দিষ্ট সমস্ত সূচকে মান বৈশিষ্ট্য মুছে ফেলা উচিত।
উদাহরণ
এর জন্য কোড হবে −
const arr = [ { value: 'some value' }, { array: [ { value: 'some value' }, { array: [ { value: 'some value' }, { value: 'some value' }, ], }, { value: 'some value' }, { array: [ { value: 'some value' }, { array: [ { value: 'delete me' }, { value: 'some value' }, ] }, ], }, ], } ]; const keys = [1, 3, 1, 0]; const getKeys = (arr, keys) => { const recursiveFind = (arr, level) => { const res = []; arr.forEach((el, ind) => { if (keys[level] !== ind) { return res.push(el); }; if (level + 1 !== keys.length && el.array) { res.push({ array: recursiveFind(el.array, level + 1) }); }; }); return res; }; return recursiveFind(arr, 0); }; console.log(JSON.stringify(getKeys(arr, keys), undefined, 4));
আউটপুট
এবং কনসোলে আউটপুট হবে −
[ { "value": "some value" }, { "array": [ { "value": "some value" }, { "array": [ { "value": "some value" }, { "value": "some value" } ] }, { "value": "some value" }, { "array": [ { "value": "some value" }, { "array": [ { "value": "some value" } ] } ] } ] } ]