অ্যারে নির্দিষ্ট উপাদান গণনা কিভাবে?


161

আমার একটি অ্যারে আছে:

[1, 2, 3, 5, 2, 8, 9, 2]

আমি জানতে চাই 2যে কয়টি অ্যারে রয়েছে।

forলুপ দিয়ে লুপ না করে জাভাস্ক্রিপ্টে এটি করার সর্বাধিক মার্জিত উপায় কী ?

উত্তর:


90

খুব সহজ:

var count = 0;
for(var i = 0; i < array.length; ++i){
    if(array[i] == 2)
        count++;
}

53
না, আমি যা বলতে চাইছি তা "
ফোর

9
@ লিম: লুপিং খারাপ কেন? সর্বদা কোনও সময়ে লুপিং থাকে। স্পষ্টতই আপনি এমন একটি ফাংশন তৈরি করবেন যা লুপটি আড়াল করে। এগুলি "আমি কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করতে চাই না" - রিকোয়েস্টগুলি কখনই আমার কাছে খুব বেশি বোঝায় না। এবং আমরা সবচেয়ে মার্জিত কি তর্ক করতে পারেন। উদাহরণস্বরূপ, আমার কাছে কোনও মূল্যের সাথে তুলনা করার জন্য উপাদান হিসাবে ফাংশন কল করা মার্জিত নয়।
ফেলিক্স ক্লিং

2
হাসির জন্য: সতর্কতা ('' ('+' আমার_আররে.জয়াইন ('== 2) + (') + '== 2)')) jsfiddle.net/gaby_de_wilde/gujbmych
ব্যবহারকারী 40521

29
ওপি সম্ভবত লুপিং খারাপ বলে মনে করে কারণ এটি কোডের 5 টি লাইন এবং পরিবর্তনীয় অবস্থার প্রয়োজন। একজন বিকাশকারী যিনি পড়তে আসেন এটি পরে কী তা যাচাই করতে কিছু সময় ব্যয় করতে হবে এবং তাদের কাজ থেকে মনোযোগ হারিয়ে ফেলবে। একটি বিমূর্ততা অনেক বেশি উচ্চতর: const count = countItems(array, 2);এবং প্রয়োগের বিশদটি ভিতরে যুক্তিযুক্ত হতে পারে।
জোয়েটউইল

2
এটি সঠিক উত্তর নয় কারণ প্রশ্নটি স্পষ্টভাবে লুপগুলি ব্যবহার না করার জন্য বলে। আমার সমাধানটি পরীক্ষা করুন যা লুপের কোনও ব্যবহার না করে। stackoverflow.com/a/44743436/8211014
লুইস ওরান্তেস

288

[ এই উত্তরটি কিছুটা তারিখযুক্ত: সম্পাদনাগুলি পড়ুন ]

বলুন আপনার বন্ধুদের হ্যালো: mapএবং filterএবং reduceএবং forEachএবং everyইত্যাদি

(আমি কেবল মাঝে মাঝে জাভাস্ক্রিপ্টে লুপগুলি লিখি কারণ ব্লক-স্তরীয় স্কোপিং অনুপস্থিত, সুতরাং আপনাকে যদি আপনার পুনরাবৃত্তি সূচক বা মান ক্যাপচার করতে বা ক্লোন করতে হয় তবে আপনাকে লুপের বডি হিসাবে কোনও ফাংশন ব্যবহার করতে হবে For সাধারণত আরও দক্ষ, তবে কখনও কখনও আপনার একটি বন্ধ হওয়া দরকার)

সর্বাধিক পঠনযোগ্য উপায়:

[....].filter(x => x==2).length

(আমরা লিখতে পারতাম .filter(function(x){return x==2}).length পরিবর্তে )

নিম্নলিখিতটি ও (এন) এর চেয়ে আরও বেশি স্থান-দক্ষ (ও (1)), তবে আমি নিশ্চিত না যে আপনি সময়ের সাথে কতটা সুবিধা / জরিমানা দিতে পারেন (আপনি যেহেতু পরিদর্শন করেছেন তাই ধ্রুবক ফ্যাক্টরের চেয়ে বেশি নয়) প্রতিটি উপাদান ঠিক একবার):

[....].reduce((total,x) => (x==2 ? total+1 : total), 0)

(আপনার যদি এই নির্দিষ্ট কোডের টুকরোটি অপ্টিমাইজ করার দরকার হয় তবে কিছু ব্রাউজারে লুপ দ্রুততর হতে পারে ... আপনি jsperf.com এ জিনিসগুলি পরীক্ষা করতে পারেন))


তারপরে আপনি মার্জিত হতে পারেন এবং এটিকে একটি প্রোটোটাইপ ফাংশনে পরিণত করতে পারেন:

[1, 2, 3, 5, 2, 8, 9, 2].count(2)

এটার মত:

Object.defineProperties(Array.prototype, {
    count: {
        value: function(value) {
            return this.filter(x => x==value).length;
        }
    }
});

উপরের সম্পত্তির সংজ্ঞাটির মধ্যে আপনি নিয়মিত পুরানো ফর লুপ কৌশলটি (অন্যান্য উত্তর দেখুন) আটকে রাখতে পারেন (আবার এটি সম্ভবত আরও দ্রুত হবে)।


2017 সম্পাদনা :

ওহো, এই উত্তরটি সঠিক উত্তরের চেয়ে বেশি জনপ্রিয় হয়েছে। আসলে, কেবল গৃহীত উত্তরটি ব্যবহার করুন। যদিও এই উত্তরটি সুন্দর হতে পারে, জেএস সংকলক সম্ভবত সম্ভবত এই ধরনের ক্ষেত্রে অনুকূলিত হন না (বা নির্দিষ্ট কারণে নয়)। সুতরাং আপনার লুপের জন্য সত্যই একটি সহজ লেখা উচিত:

Object.defineProperties(Array.prototype, {
    count: {
        value: function(query) {
            /* 
               Counts number of occurrences of query in array, an integer >= 0 
               Uses the javascript == notion of equality.
            */
            var count = 0;
            for(let i=0; i<this.length; i++)
                if (this[i]==query)
                    count++;
            return count;
        }
    }
});

আপনি এমন একটি সংস্করণ সংজ্ঞায়িত করতে পারেন .countStrictEq(...)যা ===সাম্যের ধারণাটি ব্যবহার করেছিল । আপনি যা করছেন তার জন্য সাম্যের ধারণাটি গুরুত্বপূর্ণ হতে পারে! (উদাহরণস্বরূপ [1,10,3,'10'].count(10)==2, কারণ জাভাস্ক্রিপ্টে '4' == 4 এর মতো নম্বর ... সুতরাং এটি কল করে .countEqবা .countNonstrictএটি ==অপারেটরটি ব্যবহারের উপর জোর দেয় ))

collections.Counterপ্রথম স্থানে গণনা না করতে এড়াতে আপনার নিজস্ব মাল্টিসেট ডেটা স্ট্রাকচার (যেমন পাইথনের ' ' এর মতো ) ব্যবহার করেও বিবেচনা করুন।

class Multiset extends Map {
    constructor(...args) {
        super(...args);
    }
    add(elem) {
        if (!this.has(elem))
            this.set(elem, 1);
        else
            this.set(elem, this.get(elem)+1);
    }
    remove(elem) {
        var count = this.has(elem) ? this.get(elem) : 0;
        if (count>1) {
            this.set(elem, count-1);
        } else if (count==1) {
            this.delete(elem);
        } else if (count==0)
            throw `tried to remove element ${elem} of type ${typeof elem} from Multiset, but does not exist in Multiset (count is 0 and cannot go negative)`;
            // alternatively do nothing {}
    }
}

ডেমো:

> counts = new Multiset([['a',1],['b',3]])
Map(2) {"a" => 1, "b" => 3}

> counts.add('c')
> counts
Map(3) {"a" => 1, "b" => 3, "c" => 1}

> counts.remove('a')
> counts
Map(2) {"b" => 3, "c" => 1}

> counts.remove('a')
Uncaught tried to remove element a of type string from Multiset, but does not exist in Multiset (count is 0 and cannot go negative)

সাইডেনোট: যদিও আপনি এখনও যদি ফাংশনাল-প্রোগ্রামিংয়ের পথটি (বা অ্যারে.প্রোটোটাইপকে ছাড়িয়ে না ফেলে কোনও ওয়ান-লাইনার) চান, তবে আপনি আজকাল এটিকে আরও সংক্ষিপ্তভাবে লিখতে পারেন [...].filter(x => x==2).length। আপনি যদি পারফরম্যান্সের বিষয়ে যত্নশীল হন তবে নোট করুন যে এটি লম্পট (ও (এন) সময়) এর মতো একই পারফরম্যান্সের জন্য, এটি ও (এন) অতিরিক্ত মেমরির (ও (1) মেমরির পরিবর্তে) প্রয়োজন হতে পারে কারণ এটি প্রায় হবে অবশ্যই একটি মধ্যবর্তী অ্যারে তৈরি করুন এবং তারপরে সেই মধ্যবর্তী অ্যারের উপাদানগুলি গণনা করুন।


1
এটি একটি ভাল এফপি সমাধান, একমাত্র "সমস্যা" (বেশিরভাগ ক্ষেত্রে অপ্রাসঙ্গিক) এটি একটি মধ্যবর্তী অ্যারে তৈরি করে।
টোকল্যান্ড

1
@ টোকল্যান্ড: এটি যদি উদ্বেগের বিষয় হয় তবে আপনি এটি করতে পারেনarray.reduce(function(total,x){return x==value? : total+1 : total}, 0)
নিনজেকেকো

1
@ninjagecko টেরিনারি অপারেটরে কেবল একটি কোলন থাকা উচিত নয়? [...].reduce(function(total,x){return x==2 ? total+1 : total}, 0)
ক্রুয়েজার

2
@ টোকল্যান্ড সম্ভবত ফিল্টার কোনও মধ্যবর্তী অ্যারে তৈরি করবে না । একটি ভাল অপ্টিমাইজিং সংকলক সহজেই চিনতে পারে যে অ্যারের দৈর্ঘ্যটিই ব্যবহৃত হয়েছে। সম্ভবত বর্তমান জেএস সংকলকগুলির কোনও এটির জন্য যথেষ্ট স্মার্ট নয়, তবে এটি গুরুত্বপূর্ণ নয়। যেমন ফওলার বলেছেন, "যদি কিছু ব্যথা হয় তবে তার আরও কিছু করুন"। দুর্বল কোড লিখে সংকলনের ঘাটতিগুলি এড়াতে এটি স্বল্পদৃষ্টির। সংকলক সফল হয়, সংকলক ঠিক করুন। mlafeldt.github.io/blog/if-it-hurts-do-it-more-often
জন হেন্কেল

আমি এই একটি অনুকূল 2017 সমাধান বিবেচনা হবে: const count = (list) => list.filter((x) => x == 2).length। তারপরে count(list)তালিকাটি সংখ্যার একটি অ্যারে যেখানে ফোন করে এটি ব্যবহার করুন । আপনি করতে পারেনconst count = (list) => list.filter((x) => x.someProp === 'crazyValue').length অবজেক্টের অ্যারেতে ক্রেজিভ্যালুয়ের উদাহরণ গণনা । দ্রষ্টব্য, এটি সম্পত্তিটির জন্য একটি সঠিক মিল।
agm1984

70

জেএসকে ES6 আপডেট:

মনে রাখবেন যে আপনার সর্বদা ট্রিপল সমান ব্যবহার করা উচিত: ===সঠিক তুলনা পেতে:

// Let has local scope
let array = [1, 2, 3, 5, 2, 8, 9, 2]

// Functional filter with an Arrow function
array.filter(x => x === 2).length  // -> 3

জেএসে নিম্নলিখিত সর্বসম্মত তীর ফাংশন (ল্যাম্বডা ফাংশন):

(x) => {
   const k = 2
   return k * x
}

একক ইনপুট জন্য এই সংক্ষিপ্ত ফর্ম সরল করা যেতে পারে:

x => 2 * x

যেখানে returnনিহিত


লুপের জন্য এস 6 ব্যবহারের চেয়ে ফিল্টার ফাংশনটি আরও পারফর্ম্যান্ট?
নিক্লাস

1
@ নিক্লাস, আমি মনে করি এটি একই (যেমন উভয়ই সমস্ত উপাদান, ও (এন)) পরীক্ষা করে দেখতে পারে, তবে, আমি অনুমান করি এটি ব্রাউজার নির্ভর এবং ক্যাশে স্মৃতিতে কী ফিট করে তা কতগুলি উপাদান এবং কম্পিউটারের উপর নির্ভর করে। সুতরাং, আমি অনুমান করি উত্তরটি হ'ল: "এটি জটিল" :)
সেভেরিসসন

67

2017: যদি কেউ এখনও প্রশ্নটিতে আগ্রহী হন তবে আমার সমাধানটি নিম্নলিখিত:

const arrayToCount = [1, 2, 3, 5, 2, 8, 9, 2];
const result = arrayToCount.filter(i => i === 2).length;
console.log('number of the found elements: ' + result);


8

আপনি যদি ল্যাড্যাশ ব্যবহার করছেন বা _.countBy পদ্ধতিতে আন্ডারকোর করছেন তবে অ্যারেতে প্রতিটি মান অনুসারে কী-করা মোটের সামগ্রীর অবজেক্ট সরবরাহ করবে। আপনি যদি কেবল একটি মান গণনা করতে চান তবে আপনি এটিকে ওয়ান-লাইনারে পরিণত করতে পারেন:

_.countBy(['foo', 'foo', 'bar'])['foo']; // 2

এটি সংখ্যার অ্যারেগুলিতেও সূক্ষ্ম কাজ করে। আপনার উদাহরণের জন্য ওয়ান-লাইনারটি হ'ল:

_.countBy([1, 2, 3, 5, 2, 8, 9, 2])[2]; // 3

5
বিশাল ওভারকিল এটি সমস্ত অনন্য উপাদানের জন্য কাউন্টার তৈরি করে। সঞ্চয় এবং সময় নষ্ট।
ধাতব

5

সবচেয়ে অদ্ভুত উপায়টি আমি এটি করার কথা ভাবতে পারি:

(a.length-(' '+a.join(' ')+' ').split(' '+n+' ').join(' ').match(/ /g).length)+1

কোথায়:

  • একটি অ্যারে
  • অ্যারে গণনা করার জন্য এন সংখ্যা

আমার পরামর্শ, কিছুক্ষণ বা লুপের জন্য ব্যবহার করুন ;-)


3

লুপ ব্যবহার না করার অর্থ সাধারণত প্রক্রিয়াটি কোনও পদ্ধতিতে হস্তান্তর করা হয় যা এটি করে লুপ ব্যবহার ।

আমাদের লুপ ঘৃণা কোডার একটি মূল্য দিয়ে তার ঘৃণ্যতা সন্তুষ্ট করতে পারে একটি উপায়:

var a=[1, 2, 3, 5, 2, 8, 9, 2];

alert(String(a).replace(/[^2]+/g,'').length);


/*  returned value: (Number)
3
*/

অ্যারে পদ্ধতি হিসাবে যদি এটি উপলভ্য থাকে তবে আপনি বারবার সূচককেও কল করতে পারেন এবং প্রতিবার অনুসন্ধানের পয়েন্টারটি সরাতে পারেন।

এটি কোনও নতুন অ্যারে তৈরি করে না এবং লুপটি ফর ইচ বা ফিল্টারের চেয়ে দ্রুত।

যদি আপনার মিলিয়ন মিলিয়ন সদস্য থাকে তবে এটি কোনও পার্থক্য করতে পারে।

function countItems(arr, what){
    var count= 0, i;
    while((i= arr.indexOf(what, i))!= -1){
        ++count;
        ++i;
    }
    return count
}

countItems(a,2)

/*  returned value: (Number)
3
*/

2
আপনি আপনার রেজেক্সকে কেবলমাত্রে হ্রাস করতে পারলেন String(a).match(/2/g).length + 1- যদিও এই বিষয়ে সাবধান হন বা আপনার প্রয়োগটি ডাবল ডিজিটের সাথে দুর্দান্ত খেলবে না।
গ্যারি গ্রিন

2
[২, ২২, ২] কীভাবে?
ওদুয়ান

2

ফিল্টার হিসাবে অ্যারে ফাংশন ব্যবহার করে পোস্ট করা বেশিরভাগ সমাধান অসম্পূর্ণ কারণ তারা প্যারামিটারাইজড হয় না।

এখানে একটি সমাধান রয়েছে যার সাহায্যে গণনা করার উপাদানটি রান সময়ে নির্ধারণ করা যেতে পারে।

function elementsCount(elementToFind, total, number){
    return total += number==elementToFind;
}

var ar = [1, 2, 3, 5, 2, 8, 9, 2];
var elementToFind=2;
var result = ar.reduce(elementsCount.bind(this, elementToFind), 0);

এই পদ্ধতির সুবিধাটি হ'ল এক্স এর চেয়েও বেশি উপাদানের সংখ্যা গণ্য করতে সহজেই ফাংশনটি পরিবর্তন করতে পারে

আপনি হ্রাস ফাংশনটি ইনলাইনও ঘোষণা করতে পারেন

var ar = [1, 2, 3, 5, 2, 8, 9, 2];
var elementToFind=2;
var result = ar.reduce(function (elementToFind, total, number){
    return total += number==elementToFind;
}.bind(this, elementToFind), 0);

var elementToFind=2; ... function (elementToFind, total, number){ return total += number==elementToFind; }.bind(this, elementToFind) ...পড়া কঠিন এবং ঠিক উপরের কোন সুবিধা দেয় না ... (acc, x) => acc += number == 2...। আমি যদিও এর +=পরিবর্তে আপনার ব্যবহার পছন্দ করি acc + (number == 2)। যদিও একটি অযৌক্তিক সিনট্যাক্স হ্যাক লাগে।
মাস্টারেক্সিলো

2

সত্যিই, কেন আপনার প্রয়োজন হবে mapবা filterএই জন্য? reduceএই ধরণের অপারেশনের জন্য "জন্মগ্রহণ" হয়েছিল:

[1, 2, 3, 5, 2, 8, 9, 2].reduce( (count,2)=>count+(item==val), 0);

এটাই! (যদি item==valপ্রতিটি পুনরাবৃত্তির করুন, তারপরে 1 সঁচায়ক যোগ করা হবে count, যেমন trueকরতে সমাধান হবে 1)।

একটি ফাংশন হিসাবে:

function countInArray(arr, val) {
   return arr.reduce((count,item)=>count+(item==val),0)
}

অথবা, এগিয়ে যান এবং আপনার অ্যারে প্রসারিত করুন:

Array.prototype.count = function(val) {
   return this.reduce((count,item)=>count+(item==val),0)
}


2

ও (এন) এর সমস্ত অ্যারে আইটেমগুলির জন্য গণনা পাওয়ার জন্য এখানে একটি ES2017 + উপায় রয়েছে:

const arr = [1, 2, 3, 5, 2, 8, 9, 2];
const counts = {};

arr.forEach((el) => {
  counts[el] = counts[el] ? (counts[el] += 1) : 1;
});

আপনি optionচ্ছিকভাবে আউটপুটটি বাছাই করতে পারেন:

const countsSorted = Object.entries(counts).sort(([_, a], [__, b]) => a - b);

আপনার উদাহরণ অ্যারের জন্য কনসোল.লগ (গণনা অনুসারে সাজানো):

[
  [ '2', 3 ],
  [ '1', 1 ],
  [ '3', 1 ],
  [ '5', 1 ],
  [ '8', 1 ],
  [ '9', 1 ]
]

1

আমি বিশ্বাস করি আপনি যা খুঁজছেন তা কার্যকরী পদ্ধতির

    const arr = ['a', 'a', 'b', 'g', 'a', 'e'];
    const count = arr.filter(elem => elem === 'a').length;
    console.log(count); // Prints 3

এলেম === 'এ' শর্ত, এটি নিজের সাথে প্রতিস্থাপন করুন।


এটা তোলে 3 প্রিন্ট করবে না, কিন্তু 0. এটি ঠিক করতে, আপনার দ্বিতীয় লাইন হওয়া উচিত count = arr.filter(elem => elem === 'a').lengthবাcount = arr.filter(elem => {return elem === 'a'}).length
WPomier

1

আমি জেএস অ্যারের হ্রাস ফাংশনটির একটি শুরুর অনুরাগী।

const myArray =[1, 2, 3, 5, 2, 8, 9, 2];
const count = myArray.reduce((count, num) => num === 2 ? count + 1 : count, 0)

আসলে আপনি যদি অভিনব ধারণা পেতে চান তবে আপনি অ্যারে প্রোটোটাইপে একটি গণনা ফাংশন তৈরি করতে পারেন। তারপরে আপনি এটি পুনরায় ব্যবহার করতে পারেন।

Array.prototype.count = function(filterMethod) {
  return this.reduce((count, item) => filterMethod(item)? count + 1 : count, 0);
} 

তাহলে কর

const myArray =[1, 2, 3, 5, 2, 8, 9, 2]
const count = myArray.count(x => x==2)

0

পুনরাবৃত্তি দ্বারা সমাধান

function count(arr, value) {
   if (arr.length === 1)    {
      return arr[0] === value ? 1 : 0;
   } else {
      return (arr.shift() === value ? 1 : 0) + count(arr, value);
   }
}

count([1,2,2,3,4,5,2], 2); // 3

1
এটি কি খালি অ্যারে পরিচালনা করে?
অ্যান্ড্রু গ্রিম

@ অ্যান্ড্রুগ্রিমের এটি ঠিক আছে। বেস কেসটি অরআরএলটিথ == 0
জাস্টিন

চমৎকার সমাধান! আমি কেবল অনুশীলনের জন্য পুনরাবৃত্তি ব্যবহার করে কিছু করার চেষ্টা করছিলাম এবং আমি যা করছি তার থেকে আপনার উদাহরণটি আরও মার্জিত ছিল। এটি ব্যবহারের চেয়ে অবশ্যই আরও জটিল উপায় filter, reduceবা forLoopপারফরম্যান্সের দিকে তাকানোর সময় একটি সহজ এবং আরও ব্যয়বহুল, তবে এটি পুনরাবৃত্তি সহ এটি করার দুর্দান্ত উপায়। আমার একমাত্র পরিবর্তনটি: আমি কেবলমাত্র মনে করি অ্যারে অনুলিপি করতে এবং মূল অ্যারের কোনও রূপান্তর এড়াতে কোনও ফাংশন তৈরি করা এবং এর ভিতরে একটি ফিল্টার যুক্ত করা ভাল,
আর। মার্কস

0

var arrayCount = [1,2,3,2,5,6,2,8];
var co = 0;
function findElement(){
    arrayCount.find(function(value, index) {
      if(value == 2)
        co++;
    });
    console.log( 'found' + ' ' + co + ' element with value 2');
}

আমি এরকম কিছু করব:

var arrayCount = [1,2,3,4,5,6,7,8];

function countarr(){
  var dd = 0;
  arrayCount.forEach( function(s){
    dd++;
  });

  console.log(dd);
}


0

মূল স্তরের ফাইলটিতে অ্যারে শ্রেণীর জন্য একটি নতুন পদ্ধতি তৈরি করুন এবং এটি আপনার প্রকল্পে ব্যবহার করুন।

// say in app.js
Array.prototype.occurrence = function(val) {
  return this.filter(e => e === val).length;
}

এটি আপনার প্রকল্পের যে কোনও জায়গায় ব্যবহার করুন -

[1, 2, 4, 5, 2, 7, 2, 9].occurrence(2);
// above line returns 3

0

এখানে জাভাস্ক্রিপ্টে একটি ওয়ান লাইনার রয়েছে।

  1. মানচিত্র ব্যবহার করুন। মিলে যাওয়া মানগুলি সন্ধান করুন(v === 2)অ্যারেতে খুঁজে বের করুন, যাগুলি এবং শূন্যগুলির একটি অ্যারে ফিরে আসবে।
  2. হ্রাস ব্যবহার করুন। প্রাপ্ত মোট সংখ্যার জন্য অ্যারের সমস্ত মান যুক্ত করুন।
[1, 2, 3, 5, 2, 8, 9, 2]
  .map(function(v) {
    return v === 2 ? 1 : 0;
  })
  .reduce((a, b) => a + b, 0);

ফলাফল হয় 3


0

আপনি এটি কীভাবে চালাতে চান তার উপর নির্ভর করে:

const reduced = (array, val) => { // self explanatory
    return array.filter((element) => element === val).length;
}

console.log(reduced([1, 2, 3, 5, 2, 8, 9, 2], 2));

// 3

const reducer = (array) => { // array to set > set.forEach > map.set
    const count = new Map();
    const values = new Set(array);
    values.forEach((element)=> {
        count.set(element, array.filter((arrayElement) => arrayElement === element).length);
    });
    return count;
}
console.log(reducer([1, 2, 3, 5, 2, 8, 9, 2]));

// Map(6) {1 => 1, 2 => 3, 3 => 1, 5 => 1, 8 => 1, …}

-7

আপনি জাভাস্ক্রিপ্ট অ্যারে দৈর্ঘ্যের সম্পত্তি ব্যবহার করতে পারেন:

var myarray = [];
var count = myarray.length;//return 0

myarray = [1,2];
count = myarray.length;//return 2

আপনি যদি প্রথমে এটি ফিল্টার করেন তবে আপনি দৈর্ঘ্যটি ব্যবহার করতে পারেন। যেমন অ্যারে.ফিল্টার (x => x === 2) দৈর্ঘ্য
স্কট ব্লাঞ্চ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.