সতর্কতা () সহ আমি জাভাস্ক্রিপ্টে অ্যারে কাঠামোটি কীভাবে দেখতে পারি?


108

আমি জাভাস্ক্রিপ্ট ব্যবহার করে কোন অ্যারের গঠন কীভাবে দেখতে পারি alert()?


14
এটি আপনার প্রশ্নের উত্তর দেয় না, তবে আপনার ফায়ারব্যাগ ইনস্টল করা উচিত এবং console.logএটি ব্যবহার করা উচিত - এটি জাভাস্ক্রিপ্ট অবজেক্টগুলির অন্তর্নির্ধারণের জন্য দুর্দান্ত।
ডেনিজ ডোগান

অ্যারের কাঠামোটি বলতে কী বোঝ? আপনি অ্যারের মাধ্যমে লুপ করতে পারেন এবং প্রতিটি মান সতর্ক করতে পারেন।
টিম শ্মেলেটার

@ ডেনিজ ডোগান কনসোল.লগ দ্বারা আপনি কী শিফট + আর এবং "কনসোল" বিকল্পটি বলতে চাইছেন?
পিপিটিএসটি

1
@ ডেনিজ - console.debugআসলে আরও ভাল কাজ করবে।
ম্যাট বল

@ কাঠামোর ভিত্তিতে টিম বলতে আমি সূচক এবং মান বলতে চাইছি, পিএইচপি
প্রিন্টফের

উত্তর:


122

একটি খুব বেসিক পদ্ধতির হ'ল alert(arrayObj.join('\n')), যা প্রতিটি অ্যারে উপাদানকে এক সারিতে প্রদর্শন করবে।


5
এটি দুর্দান্ত কাজ করে। আপনার অ্যারের নামের সাথে "অ্যারেঅবজ" প্রতিস্থাপন করুন। সুতরাং যদি আপনার অ্যারেটির নাম alert(myArray.join('\n'));
আমারআরয়ের হয় তবে

54

সম্পাদনা: ফায়ারফক্স এবং গুগল ক্রোমের এখন একটি বিল্ট-ইন JSONঅবজেক্ট রয়েছে, তাই আপনি alert(JSON.stringify(myArray))jQuery প্লাগইন ব্যবহার না করেই বলতে পারেন । এটি জাভাস্ক্রিপ্ট ভাষা অনুচ্ছেদের অংশ নয়, সুতরাং আপনার JSONসমস্ত ব্রাউজারে উপস্থিত অবজেক্টের উপর নির্ভর করা উচিত নয় , তবে ডিবাগিংয়ের উদ্দেশ্যে এটি অবিশ্বাস্যভাবে কার্যকর।

আমি নীচে jQuery-json প্লাগইন ব্যবহার করার ঝোঁক :

alert( $.toJSON(myArray) );

এটি বিন্যাসে অ্যারে প্রিন্ট করে

[5, 6, 7, 11]

যাইহোক, আপনার জাভাস্ক্রিপ্ট কোড ডিবাগ করার জন্য, আমি অত্যন্ত সুপারিশ ফায়ারবাগকে , এটি আসলে একটি JavaScript কনসোল দিয়ে আসে, যাতে আপনি যেকোন পৃষ্ঠার জন্য জাভাস্ক্রিপ্ট কোড আউট টাইপ করুন এবং ফলাফল দেখতে পারবেন না। অ্যারেগুলির মতো জিনিসগুলি ইতিমধ্যে উপরে ব্যবহৃত মানব-পঠনযোগ্য আকারে মুদ্রিত হয়েছে।

ফায়ারব্যাগে একটি ডিবাগার রয়েছে, পাশাপাশি আপনাকে আপনার এইচটিএমএল এবং সিএসএস দেখতে এবং ডিবাগ করতে সহায়তা করার জন্য পর্দা রয়েছে।


32

আপনার js অ্যারে নীচের ফাংশনে পাস করুন এবং এটি পিএইচপি মুদ্রণ_আর () ফাংশনের মতোই করবে

 alert(print_r(your array));  //call it like this

function print_r(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects 
    for(var item in arr) {
        var value = arr[item];

        if(typeof(value) == 'object') { //If it is an array,
            dumped_text += level_padding + "'" + item + "' ...\n";
            dumped_text += print_r(value,level+1);
        } else {
            dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
        }
    }
} else { //Stings/Chars/Numbers etc.
    dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}

এই ফাংশনটি একটি ইউআই বাছাইযোগ্য অ্যারের পার্সিংয়ের সাথে ফায়ারফক্সকে ক্র্যাশ করেছে।
শাহরোখিয়ান


8

আমি toString () ব্যবহার করার পরামর্শ দিই।

যাত্রা। alert(array.toString()), বাconsole.log(array.toString())


3

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


2

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

এখানে একটি উদাহরণ:

//-------------------------------------------------------------------
// Defininf the Point object
function Point(CoordenadaX, CoordenadaY) {
    // Sets the point coordinates depending on the parameters defined
    switch (arguments.length) {
        case 0:
            this.x = null;
            this.y = null;
            break;
        case 1:
            this.x = CoordenadaX;
            this.y = null;
            break;
        case 2:
            this.x = CoordenadaX;
            this.y = CoordenadaY;
            break;
    }
    // This adds the toString Method to the point object so the 
    // point can be printed using alert();
    this.toString = function() {
        return " (" + this.x + "," + this.y + ") ";
    };
 }

তারপরে আপনার যদি পয়েন্টগুলির একটি অ্যারে থাকে:

var MyArray = [];
MyArray.push ( new Point(5,6) );
MyArray.push ( new Point(7,9) );

আপনি কেবল কল করে মুদ্রণ করতে পারেন:

alert(MyArray);

আশাকরি এটা সাহায্য করবে!


1

আপনি এমন একটি ফাংশন লিখতে পারেন যা এই অ্যারেটিকে স্ট্রিং হিসাবে রূপান্তর এবং বিন্যাস করবে। আরও ভাল: সতর্কতার পরিবর্তে ডিবাগিংয়ের জন্য ফায়ারব্যাগ ব্যবহার করুন।


1

ফায়ারব্যাগ (ক্রোম কনসোল ইত্যাদি) ভাল ব্যবহার করুন এবং কনসোল.ডির () ব্যবহার করুন


1

পাঠযোগ্যতার উদ্দেশ্যে আপনি ব্যবহার করতে পারেন:

alert(JSON.stringify(someArrayOrObj, '', 2));

JSON.stringify () সম্পর্কে আরও ।

উদাহরণ:

let user = {
  name: "John",
  age: 30,
  roles: {
    isAdmin: false,
    isEditor: true
  }
};

alert(JSON.stringify(user, "", 2));
/* Result:
{
  "name": "John",
  "age": 30,
  "roles": {
    "isAdmin": false,
    "isEditor": true
  }
} 
*/

-5
alert($("#form_id").serialize());

3
প্রশ্নটি ট্যাগ করা হয়েছে javascriptযা বলে যে "যদি না কোনও ফ্রেমওয়ার্ক / লাইব্রেরির জন্য ট্যাগও অন্তর্ভুক্ত না করা হয় তবে খাঁটি জাভাস্ক্রিপ্টের উত্তর আশা করা যায়"। এমনকি যদি তা না হয় ... প্রশ্নটি একটি এইচএমএল ফর্ম নয়, একটি অ্যারের সম্পর্কে জিজ্ঞাসা করছে।
কোয়ান্টিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.