এখানে সর্বাধিক কার্যকারিতার চেয়ে 10x গুণ দ্রুত অ্যারে থেকে স্থায়ীভাবে সদৃশগুলি মুছে ফেলার এটি সম্ভবত দ্রুততম উপায় way
function toUnique(a,b,c){//array,placeholder,placeholder
b=a.length;
while(c=--b)while(c--)a[b]!==a[c]||a.splice(c,1)
}
var array=[1,2,3,4,5,6,7,8,9,0,1,2,1];
toUnique(array);
console.log(array);
- পরীক্ষা: http://jsperf.com/wgu
- ডেমো: http://jsfiddle.net/46S7g/
- আরও: https://stackoverflow.com/a/25082874/2450730
যদি আপনি উপরের কোডটি জিজ্ঞাসা করতে না পারেন, একটি জাভাস্ক্রিপ্ট বই পড়তে পারেন বা এখানে সংক্ষিপ্ত কোড সম্পর্কে কিছু ব্যাখ্যা রয়েছে। https://stackoverflow.com/a/21353032/2450730
সম্পাদনা
মন্তব্য মতামত হিসাবে বলা হয়েছে এই ফাংশনটি অজ্ঞাতসারে একটি অ্যারে ফিরিয়ে দেয়, প্রশ্নটি তবে সদৃশগুলি সন্ধান করতে বলে asks সেক্ষেত্রে এই ফাংশনটিতে একটি সাধারণ পরিবর্তন ডুপ্লিকেটগুলিকে একটি অ্যারেতে ঠেকাতে দেয়, তারপরে পূর্ববর্তী ফাংশনটি ব্যবহার করে সদৃশদের নকলকে toUnique
সরিয়ে দেয়।
function theDuplicates(a,b,c,d){//array,placeholder,placeholder
b=a.length,d=[];
while(c=--b)while(c--)a[b]!==a[c]||d.push(a.splice(c,1))
}
var array=[1,2,3,4,5,6,7,8,9,0,1,2,1];
toUnique(theDuplicates(array));