ধরে নিচ্ছি আমার নিম্নলিখিতগুলি রয়েছে:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
স্বতন্ত্র বয়সের সকলের অ্যারে পেতে সক্ষম হবার সর্বোত্তম উপায় কী যে এর ফলাফলের অ্যারে পাই:
[17, 35]
আমি কি বিকল্পের সাথে ডেটা বা আরও ভাল পদ্ধতির কাঠামোগত গঠন করতে পারি যে আমাকে "বয়সের" মান পরীক্ষা করে প্রতিটি অ্যারে দিয়ে পুনরুক্তি করতে হবে না এবং এর অস্তিত্বের জন্য অন্য অ্যারের বিরুদ্ধে চেক করতে হবে এবং যদি তা যুক্ত না হয়?
যদি কোনও উপায় থাকে তবে আমি পুনরাবৃত্তি না করে স্বতন্ত্র যুগগুলি কেবল বের করতে পারতাম ...
বর্তমানের অকার্যকর উপায়ে আমি উন্নতি করতে চাই ... এর অর্থ যদি এই হয় যে "অ্যারে" পরিবর্তে অবজেক্টগুলির একটি অ্যারে না হয়ে কিছু অনন্য কী (যেমন "1,2,3") অবজেক্টগুলির "মানচিত্র" থাকে তবে তা হবে ঠিক আছে। আমি সর্বাধিক পারফরম্যান্স দক্ষ উপায় খুঁজছি।
নিম্নলিখিতটি আমি বর্তমানে এটি কীভাবে করছি তবে আমার জন্য, পুনরাবৃত্তিটি কার্যক্ষমতার জন্য কেবল ক্রমযুক্ত বলে মনে হচ্ছে যদিও এটি কাজ করে না ...
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)
Set
অবজেক্ট এবং map
গুলি অপব্যয়। এই কাজটি একটি সহজ .reduce()
মঞ্চ নেয় takes