সম্পূর্ণরূপে উপাদানগুলি যুক্ত করতে বা মুছতে যা সূচককে পরিবর্তিত করবে, একটি অনুলিপি () এর পুনর্বিবেচনার জন্য zhujy_8833 এর প্রসারণের প্রস্তাব দিয়ে, আপনি ইতিমধ্যে মুছে ফেলেছেন বা যুক্ত করেছেন এমন উপাদানগুলির সংখ্যা গণনা করুন এবং তদনুসারে সূচকে পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, উপাদানগুলি মুছতে:
let values = ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8"];
let count = 0;
values.slice().forEach((value, index) => {
if (value === "A2" || value === "A5") {
values.splice(index - count++, 1);
};
});
console.log(values);
// Expected: [ 'A0', 'A1', 'A3', 'A4', 'A6', 'A7', 'A8' ]
আগে উপাদানগুলি সন্নিবেশ করতে:
if (value === "A0" || value === "A6" || value === "A8") {
values.splice(index - count--, 0, 'newVal');
};
// Expected: ['newVal', A0, 'A1', 'A2', 'A3', 'A4', 'A5', 'newVal', 'A6', 'A7', 'newVal', 'A8' ]
এর পরে উপাদানগুলি সন্নিবেশ করতে:
if (value === "A0" || value === "A6" || value === "A8") {
values.splice(index - --count, 0, 'newVal');
};
// Expected: ['A0', 'newVal', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'newVal', 'A7', 'A8', 'newVal']
কোনও উপাদান প্রতিস্থাপন করতে:
if (value === "A3" || value === "A4" || value === "A7") {
values.splice(index, 1, 'newVal');
};
// Expected: [ 'A0', 'A1', 'A2', 'newVal', 'newVal', 'A5', 'A6', 'newVal', 'A8' ]
দ্রষ্টব্য: যদি 'আগে' এবং 'পরে' সন্নিবেশকারী উভয়ই প্রয়োগ করে, কোডটি আগে "আগে" সন্নিবেশ করানো উচিত, অন্য উপায়ে আশানুরূপ হবে না