আমি জাভাস্ক্রিপ্ট অ্যারে থেকে সমস্ত উপাদানগুলি অন্য কোনও অ্যারে উপস্থিত থাকলে অপসারণের একটি কার্যকর উপায় সন্ধান করছি।
// If I have this array:
var myArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
// and this one:
var toRemove = ['b', 'c', 'g'];
আমি এটিকে এই অবস্থায় ছেড়ে দেওয়ার জন্য আমারআরয়েতে পরিচালনা করতে চাই: ['a', 'd', 'e', 'f']
JQuery এর সাথে, আমি ব্যবহার করছি grep()
এবং inArray()
, যা ভালভাবে কাজ করে:
myArray = $.grep(myArray, function(value) {
return $.inArray(value, toRemove) < 0;
});
লুপিং এবং স্প্লিকিং ছাড়াই এটি করার কোনও খাঁটি জাভাস্ক্রিপ্ট উপায় আছে?
.filter()
। পরিবর্তে আপনি for
লুপ ব্যবহার করবেন । .splice()
মূল অর্ডার বজায় রাখার দরকার না হলে আপনি এড়াতে পারেন। অথবা .splice()
আরও কার্যকর করার উপায় আছে যদি আপনি ভাবেন যে অনেকগুলি আইটেম অপসারণ করা হবে।