JQuery / জাভাস্ক্রিপ্ট দিয়ে একটি অ্যারে ইমপ্লোড?


279

আমি কি পিএইচপি-র মতো জিকিউরিতে একটি অ্যারে চাপিয়ে দিতে পারি?

উত্তর:


546

আপনি এটি সরল জাভাস্ক্রিপ্টে করতে পারেন, ব্যবহার করুন Array.prototype.join:

arrayName.join(delimiter)

আমি কোনও jQuery ফাংশন জানি না যে আরও ভাল।


4
একজন মডারেটর ফোর্স কী এই উত্তরটি মেনে নিতে পারে বা কেউ কেউ কীভাবে শীর্ষে যায়? আমি এই উত্তরটি প্রাথমিকভাবে এটি পড়ে মিস করেছি।
প্রেস


28

Array.joinআপনার যা প্রয়োজন তা হল তবে আপনি যদি পছন্দ করেন তবে phpjs.org এ বন্ধুত্বপূর্ণ লোকেরা implodeআপনার জন্য তৈরি করেছে।

তারপরে কিছুটা বিষয় ছাড়াই বন্ধ। @ জোন_ডার্কস্টার অ্যাল্রেড্ট যেমন উল্লেখ করেছে, jQuery হ'ল জাভা স্ক্রিপ্ট এবং বিপরীতে নয়। আপনি না প্রয়োজন জাভাস্ক্রিপ্ট জানেন যে বুঝতে jQuery ব্যবহার কিভাবে পাবে, কিন্তু এটা অবশ্যই আঘাত না এবং একবার আপনি পুনর্ব্যাবহার্যোগ্যতা প্রশংসা বা বড় ছবি আপনি একেবারে এটা শিখতে হবে এ খুঁজছেন শুরু করতে শুরু।


23
তারপরে আবার, জাভাস্ক্রিপ্টটি আমার প্রিয় jQuery প্লাগইন ;-)
jon_darkstar

16

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

var bits = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'];
alert(bits.join());    // H,e,l,l,o, ,W,o,r,l,d
alert(bits.join(''));  // Hello World

10

যোগ দিন ব্যবহার করুন () পদ্ধতিটি অ্যারেতে সমস্ত উপাদানকে যুক্ত করে একটি নতুন স্ট্রিং তৈরি করে এবং প্রদান করে।

কাজের উদাহরণ

var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);


1

আমরা জাভাস্ক্রিপ্টে ইমপ্লোডের বিকল্প তৈরি করতে পারি:

function my_implode_js(separator,array){
       var temp = '';
       for(var i=0;i<array.length;i++){
           temp +=  array[i] 
           if(i!=array.length-1){
                temp += separator  ; 
           }
       }//end of the for loop

       return temp;
}//end of the function

var array = new Array("One", "Two", "Three");


var str = my_implode_js('-',array);
alert(str);

12
জিনিস না করার পাঠ্যপুস্তকের ক্ষেত্রে। একটি লুপে স্ট্রিং কনটেনটেশন করবেন না। আপনার নিজস্ব ধীর কোডের সাহায্যে দ্রুত নির্মিত ফাংশনগুলিকে প্রতিস্থাপন করবেন না। Arrayআক্ষরিক পরিবর্তে কনস্ট্রাক্টর ব্যবহার করা ভার্চুয়াল। আপনি যদি ইমপ্লিড ফাংশনটি পুনরায় তৈরি করতে মরিয়া হয়ে থাকেন তবে স্মার্ট জিনিসটি হ'ল বিল্ট ইন জোড় পদ্ধতিটি আপনার নিজের ফাংশন দিয়ে মোড়ানো হবে। স্মার্ট জিনিস হ'ল আপনি যে ভাষায় প্রোগ্রামিং করছেন সে ভাষাটি শিখতে
মিকেরোবি

0

array.join";" স্বীকৃতি দিচ্ছিল না কিভাবে বিভাজক, কিন্তু এটি কমা দিয়ে প্রতিস্থাপন। JQuery ব্যবহার করে $.eachআপনি একটি অ্যারে চাপিয়ে দিতে ব্যবহার করতে পারেন (দ্রষ্টব্য যে আউটপুট_সেভ_জসন অ্যারে এবং টিএমপি হল স্ট্রিং যা ইমপ্লোডেড অ্যারে সঞ্চয় করবে):

var tmp = "";
$.each(output_saved_json, function(index,value) {
    tmp = tmp + output_saved_json[index] + ";";
});

output_saved_json = tmp.substring(0,tmp.length - 1); // remove last ";" added

আমি সর্বশেষ ";" অপসারণের জন্য সাবস্ট্রিং ব্যবহার করেছি প্রয়োজন ছাড়াই ফাইনালে যোগ করা হয়েছে। তবে আপনি যদি পছন্দ করেন তবে আপনি এর পরিবর্তে substringএমন কিছু ব্যবহার করতে পারেন:

var tmp = "";
$.each(output_saved_json, function(index,value) {
    tmp = tmp + output_saved_json[index];

    if((index + 1) != output_saved_json.length) {
         tmp = tmp + ";";
    }
});

output_saved_json = tmp;

আমি মনে করি এই শেষ সমাধানটি 1 ম এর চেয়ে আরও ধীর গতির কারণ এটি $.eachশেষ না হওয়াতে প্রতিবার অ্যারের দৈর্ঘ্যের চেয়ে সূচকটি আলাদা কিনা তা পরীক্ষা করা দরকার ।


আপনি যদি '' এর পরিবর্তে ',' পাচ্ছেন; আপনি যোগদানের পদ্ধতিতে ডিলিমিটারটি পাস করতে ভুলে যাচ্ছিলেন। চেষ্টা করুনyour_array.join(';')
মিকেরোবি

আমি এটি চেষ্টা করেছিলাম কিন্তু এটি আই-তে কাজ করে নি (আমি সংস্করণটি সঠিক মনে করি না, তবে আমি মনে করি এটি আই 6 ছিল)। আমার তখন এটি সমর্থন করা দরকার (এন্টারপ্রাইজ অ্যাপ ...)। নতুন ব্রাউজারগুলিতে আপনার নোটটি সম্ভবত বোধগম্য হয়। নোট মাইকের জন্য ধন্যবাদ এবং আমি কেন এই পদ্ধতিটি ব্যবহার করেছি তা জিজ্ঞাসার পূর্বে ডাউনটোটের জন্য ধন্যবাদ।
জয়ਸਪসর করা হয়েছে

1
যোগদানের প্যারামিটার IE 4, 5, 5.5, 6+ এ কাজ করে। আমি আইই 3 তে কাজ নাও করতে পারি তবে আমি কোনও জাভাস্ক্রিপ্ট চালানোর জন্য আমার অনুলিপি পেতে পারি না, তাই আমি পরীক্ষা করতে পারি না।
মিকেরোবি

হ্যাঁ এটা কাজ করে. তবে ";" দিয়ে নয়। এটি যোগদান করে তবে প্রতিস্থাপন করে ";" সঙ্গে ",", অন্তত উপর সার্ভার 2003
jaysponsored
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.