چگونه یک آیتم خاص را از یک آرایه در جاوا اسکریپت حذف کنیم؟

Summarize this content to 400 words in Persian Lang
بسیار رایج است که نیاز به حذف مقدار خاصی از آرایه در جاوا اسکریپت وجود دارد. در این پست، من نه تنها نحوه انجام این کار را به شما نشان می دهم، بلکه نحوه پیاده سازی آن را به گونه ای که گویی یک روش بومی روی آرایه ها است، با انعطاف پذیری برای مدیریت انواع مختلف داده ها، از جمله اشیاء، موارد اولیه و منطق مقایسه سفارشی نشان می دهم. .
قبل از شروع، میخواهم شما را به بازدید از 0dev، یک پلتفرم داده منبع باز که با زبان طبیعی کار میکند، دعوت کنم. از 0dev برای دسترسی به داده های خود بدون پرس و جوهای پیچیده SQL، تجسم آن ها بدون هیچ گونه کدنویسی و ایجاد بینش بدون هیچ گونه تجربه علم داده استفاده کنید.مخزن: https://github.com/0dev-hq/0dev
بیایید یک روش حذف سفارشی روی آرایههای جاوا اسکریپت ایجاد کنیم، که به آن اجازه میدهد اولین رخداد یک مقدار را بهطور پیشفرض حذف کند یا همه موارد را در صورت مشخص شدن حذف کند. علاوه بر این، با افزودن پشتیبانی از یک تابع مقایسه کننده، آن را تقویت خواهیم کرد و به ما امکان کنترل نحوه تطبیق مقادیر را می دهد.
Array.prototype.remove = function(value, removeAll = false, comparator = (a, b) => a === b) {
if (removeAll) {
return this.filter(item => !comparator(item, value));
} else {
const index = this.findIndex(item => comparator(item, value));
if (index !== -1) this.splice(index, 1); // Remove the item if found
return this;
}
};
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
توضیح
Array.prototype.remove
اضافه کردن remove به Array.prototype این تابع را مستقیماً در هر نمونه آرایه ای در دسترس قرار می دهد، درست مانند روش های بومی مانند map، filter، یا splice.
removeAll
را removeAll پارامتر یک راه ساده برای کنترل رفتار روش ارائه می دهد. به طور پیش فرض، removeAll تنظیم شده است false، به این معنی که فقط اولین وقوع از مشخص شده است value حذف خواهد شد. اگر removeAll تنظیم شده است true، روش حذف خواهد شد همه وقوع مقدار مشخص شده
comparator
را comparator پارامتر ممکن است در ابتدا زائد به نظر برسد، اما انعطاف پذیری بیشتری به این روش اضافه می کند. هنگام کار با آرایه های اشیاء، باید مقادیر را بر اساس ویژگی ها به جای برابری ساده مطابقت دهید، اینجا جایی است که comparator پارامتر مفید است
به عنوان مثال، اگر آرایه ای از اشیاء کاربر دارید و می خواهید کاربری با نام خاصی را حذف کنید، می توانید از تابع مقایسه کننده برای مقایسه بر اساس name دارایی
مثال های استفاده
حذف ارزش های اولیه
برای موارد استفاده اساسی با مقادیر اولیه مانند اعداد، remove روش یکپارچه کار می کند
javascriptCopy codelet numbers = [1, 2, 3, 4, 2];
numbers = numbers.remove(2); // Removes the first occurrence of 2
console.log(numbers); // Output: [1, 3, 4, 2]
numbers = numbers.remove(2, true); // Removes all occurrences of 2
console.log(numbers); // Output: [1, 3, 4]
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اینجا، removeAll پیش فرض به false، فقط اولین مورد را حذف می کند. تنظیم removeAll به true همه را حذف می کند 2s از آرایه.
حذف اشیا با مقایسه کننده
هنگام برخورد با آرایه های اشیاء، comparator تابع می تواند دقیقاً مشخص کند که روش چگونه باید مطابقت ها را شناسایی کند.
javascriptCopy codelet people = [
{ id: 1, name: ‘Alice’ },
{ id: 2, name: ‘Bob’ },
{ id: 3, name: ‘Alice’ }
];
// Remove all occurrences of objects with the name ‘Alice’
people = people.remove({ name: ‘Alice’ }, true, (a, b) => a.name === b.name);
console.log(people);
// Output: [{ id: 2, name: ‘Bob’ }]
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
کد نویسی مبارک! 🙂
بسیار رایج است که نیاز به حذف مقدار خاصی از آرایه در جاوا اسکریپت وجود دارد. در این پست، من نه تنها نحوه انجام این کار را به شما نشان می دهم، بلکه نحوه پیاده سازی آن را به گونه ای که گویی یک روش بومی روی آرایه ها است، با انعطاف پذیری برای مدیریت انواع مختلف داده ها، از جمله اشیاء، موارد اولیه و منطق مقایسه سفارشی نشان می دهم. .
قبل از شروع، میخواهم شما را به بازدید از 0dev، یک پلتفرم داده منبع باز که با زبان طبیعی کار میکند، دعوت کنم. از 0dev برای دسترسی به داده های خود بدون پرس و جوهای پیچیده SQL، تجسم آن ها بدون هیچ گونه کدنویسی و ایجاد بینش بدون هیچ گونه تجربه علم داده استفاده کنید.
مخزن: https://github.com/0dev-hq/0dev
بیایید یک روش حذف سفارشی روی آرایههای جاوا اسکریپت ایجاد کنیم، که به آن اجازه میدهد اولین رخداد یک مقدار را بهطور پیشفرض حذف کند یا همه موارد را در صورت مشخص شدن حذف کند. علاوه بر این، با افزودن پشتیبانی از یک تابع مقایسه کننده، آن را تقویت خواهیم کرد و به ما امکان کنترل نحوه تطبیق مقادیر را می دهد.
Array.prototype.remove = function(value, removeAll = false, comparator = (a, b) => a === b) {
if (removeAll) {
return this.filter(item => !comparator(item, value));
} else {
const index = this.findIndex(item => comparator(item, value));
if (index !== -1) this.splice(index, 1); // Remove the item if found
return this;
}
};
توضیح
Array.prototype.remove
اضافه کردن remove
به Array.prototype
این تابع را مستقیماً در هر نمونه آرایه ای در دسترس قرار می دهد، درست مانند روش های بومی مانند map
، filter
، یا splice
.
removeAll
را removeAll
پارامتر یک راه ساده برای کنترل رفتار روش ارائه می دهد. به طور پیش فرض، removeAll
تنظیم شده است false
، به این معنی که فقط اولین وقوع از مشخص شده است value
حذف خواهد شد. اگر removeAll
تنظیم شده است true
، روش حذف خواهد شد همه وقوع مقدار مشخص شده
comparator
را comparator
پارامتر ممکن است در ابتدا زائد به نظر برسد، اما انعطاف پذیری بیشتری به این روش اضافه می کند. هنگام کار با آرایه های اشیاء، باید مقادیر را بر اساس ویژگی ها به جای برابری ساده مطابقت دهید، اینجا جایی است که comparator
پارامتر مفید است
به عنوان مثال، اگر آرایه ای از اشیاء کاربر دارید و می خواهید کاربری با نام خاصی را حذف کنید، می توانید از تابع مقایسه کننده برای مقایسه بر اساس name
دارایی
مثال های استفاده
حذف ارزش های اولیه
برای موارد استفاده اساسی با مقادیر اولیه مانند اعداد، remove
روش یکپارچه کار می کند
javascriptCopy codelet numbers = [1, 2, 3, 4, 2];
numbers = numbers.remove(2); // Removes the first occurrence of 2
console.log(numbers); // Output: [1, 3, 4, 2]
numbers = numbers.remove(2, true); // Removes all occurrences of 2
console.log(numbers); // Output: [1, 3, 4]
اینجا، removeAll
پیش فرض به false
، فقط اولین مورد را حذف می کند. تنظیم removeAll
به true
همه را حذف می کند 2
s از آرایه.
حذف اشیا با مقایسه کننده
هنگام برخورد با آرایه های اشیاء، comparator
تابع می تواند دقیقاً مشخص کند که روش چگونه باید مطابقت ها را شناسایی کند.
javascriptCopy codelet people = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' }
];
// Remove all occurrences of objects with the name 'Alice'
people = people.remove({ name: 'Alice' }, true, (a, b) => a.name === b.name);
console.log(people);
// Output: [{ id: 2, name: 'Bob' }]
کد نویسی مبارک! 🙂