javascript কিভাবে বস্তুর দৈর্ঘ্য পেতে



json object (12)

এখানে আসার জন্য আইটেমটির কিছু জিনিস যা ইতিমধ্যে একটি jQuery অবজেক্ট রয়েছে তা খুঁজে পেতে :
দৈর্ঘ্য আপনি খুঁজছেন কি হয়:

উদাহরণ:

len = $('#divID').length;
alert(len);

কোনও অন্তর্নির্মিত ফাংশন কি কোন বস্তুর দৈর্ঘ্য ফিরিয়ে আনতে পারে?

উদাহরণস্বরূপ, আমার a = { 'a':1,'b':2,'c':3 } যা 3 ফেরত দিতে হবে। আমি একটি। a.length ব্যবহার করলে এটি undefined ফিরে আসে।

এটি একটি সরল লুপ ফাংশন হতে পারে, কিন্তু একটি অন্তর্নির্মিত ফাংশন আছে কিনা আমি জানতে চাই?

একটি সম্পর্কিত প্রশ্ন ( একটি JSON অবজেক্টের দৈর্ঘ্য ) - নির্বাচিত উত্তরটিতে ব্যবহারকারীটি অ্যারেকে অ্যারে রূপান্তর করার পরামর্শ দেয় যা আমার টাস্কের জন্য বেশ আরামদায়ক নয়।


Answer #1

আপনি বস্তুর একটি অনির্ধারিত সম্পত্তি থাকতে পারে। যদি Object.keys(data).length পদ্ধতি ব্যবহার করা হয়। Object.keys(data).length ব্যবহার করা হয় সেই বৈশিষ্ট্যগুলিও গণনা করা হবে।

আপনি তাদের আউট ফিল্টার করতে চান।

Object.keys(data).filter((v) => {return data[v] !== undefined}).length

Answer #2

আপনি underscore.js দেখুন ( http://underscorejs.org/docs/underscore.html )? এটি অনেক দরকারী পদ্ধতির সাথে একটি ইউটিলিটি লাইব্রেরি। একটি সংগ্রহ size পদ্ধতি রয়েছে, পাশাপাশি একটি toArray পদ্ধতি, যা আপনাকে যা প্রয়োজন তা পেতে পারে।

_.size({one : 1, two : 2, three : 3});
=> 3

Answer #3

এছাড়াও এই ভাবে করা যেতে পারে:

Object.entries(obj).length

উদাহরণ স্বরূপ:

let obj = { a: 1, b: 2, };
console.log(Object.entries(obj).length); //=> 2
// Object.entries(obj) => [ [ 'a', 1 ], [ 'b', 2 ] ]

Answer #4

আরও একটি উত্তর:

var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';

obj = Object.keys(j).length;
console.log(obj)


Answer #5

আপনি Lodash মত কিছু ব্যবহার করতে পারেন এবং _। লম্বা (বস্তু) আপনাকে আপনার বস্তুর দৈর্ঘ্য দিতে হবে


Answer #6

JQuery এ আমি এভাবে তৈরি করেছি:

len = function(obj) {
    var L=0;
    $.each(obj, function(i, elem) {
        L++;
    });
    return L;
}

Answer #7

এটা করা উচিত:

Object.keys(a).length

যাইহোক, Object.keys IE8 এবং নীচে, অপেরা এবং FF 3.6 এবং নীচের অংশে সমর্থিত নয়।

লাইভ ডেমো: http://jsfiddle.net/simevidas/nN84h/


Answer #8

আপনি অন্য নাম যোগ করতে পারেন: দৈর্ঘ্য মান জোড়া, এবং যথাযথভাবে বৃদ্ধি / হ্রাস। এই ভাবে, যখন আপনি দৈর্ঘ্যটি জিজ্ঞাসা করতে হবে, তখন আপনাকে প্রত্যেক বস্তুর বৈশিষ্ট্যগুলি বারবার পুনরাবৃত্তি করতে হবে না এবং আপনাকে নির্দিষ্ট ব্রাউজার বা লাইব্রেরীতে নির্ভর করতে হবে না। এটা সব আপনার লক্ষ্য উপর নির্ভর করে, অবশ্যই।


Answer #9

একসঙ্গে সব সংক্ষেপে, এখানে একটি সার্বজনীন ফাংশন (ie8 সমর্থন সহ):

var objSize = function(obj) {
    var count = 0;
    
    if (typeof obj == "object") {
    
        if (Object.keys) {
            count = Object.keys(obj).length;
        } else if (window._) {
            count = _.keys(obj).length;
        } else if (window.$) {
            count = $.map(obj, function() { return 1; }).length;
        } else {
            for (var key in obj) if (obj.hasOwnProperty(key)) count++;
        }
        
    }
    
    return count;
};

document.write(objSize({ a: 1, b: 2, c: 3 }));
// 3


Answer #10

সুতরাং এককে Object.keys পদ্ধতিটি খুঁজে এবং প্রতিস্থাপন করতে হবে না, স্ক্রিপ্টটি কার্যকর করার সময় এই পদ্ধতিটি আরও কার্যকর হবে:

if(!Object.keys)
{
  Object.keys = function(obj)
  {
    return $.map(obj, function(v, k)
    {
      return k;
    });
  };
 }

Answer #11

এখানে ইনুইেন্ডোর উত্তরের একটি jQuery- আইড্ড ফাংশন ব্যবহার করা হয়েছে।

$.extend({
    keyCount : function(o) {
        if(typeof o == "object") {
            var i, count = 0;
            for(i in o) {
                if(o.hasOwnProperty(i)) {
                    count++;
                }
            }
            return count;
        } else {
            return false;
        }
    }
});

এই মত বলা যেতে পারে:

var cnt = $.keyCount({"foo" : "bar"}); //cnt = 1;




object