অ্যারেতে কীভাবে কিছু যুক্ত করা যায়?


2893

আমি কীভাবে জাভাস্ক্রিপ্টের কোনও অ্যারেতে কোনও বস্তুর (যেমন একটি স্ট্রিং বা সংখ্যা) যুক্ত করব?

উত্তর:


4384

Array.prototype.pushকোন অ্যারেতে মান যুক্ত করতে পদ্ধতিটি ব্যবহার করুন :

// initialize array
var arr = [
  "Hi",
  "Hello",
  "Bonjour"
];

// append new value to the array
arr.push("Hola");

console.log(arr);


আপনি push()একক কলে একটি অ্যারেতে একাধিক মান যুক্ত করতে ফাংশনটি ব্যবহার করতে পারেন :

// initialize array
var arr = ["Hi", "Hello", "Bonjour", "Hola"];

// append multiple values to the array
arr.push("Salut", "Hey");

// display all values
for (var i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}


হালনাগাদ

আপনি যদি একটি অ্যারের আইটেমগুলিকে অন্য অ্যারে যুক্ত করতে চান তবে আপনি এটি ব্যবহার করতে পারেন firstArray.concat(secondArray):

var arr = [
  "apple",
  "banana",
  "cherry"
];

arr = arr.concat([
  "dragonfruit",
  "elderberry",
  "fig"
]);

console.log(arr);

হালনাগাদ

এই উত্তরের একটি যুক্ততা যদি আপনি প্রথম সূচকটির অর্থ কোনও অ্যারের শুরুতে কোনও মান যুক্ত করতে চান তবে আপনি Array.prototype.unshiftএই উদ্দেশ্যে ব্যবহার করতে পারেন ।

var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr);

এটি একসাথে একাধিক মান সংযোজনকে সমর্থন করে push


129
নোট করুন .পুষ্পের রিটার্ন মানটি অ্যারে (বা একটি নতুন, যেমন। কনক্যাট) নয়, তবে অ্যারের নতুন দৈর্ঘ্যের প্রতিনিধিত্বকারী একটি পূর্ণসংখ্যা।
জে

8
@ আরএসটি: একেবারেই ব্যবহার করবেন না for(ব্যবহার করুন .forEach)।
রবার্ট সিমার

34
আমি বলতে চাই যে মূল কোডটি ঠিক আছে। lengthসম্পত্তি অ্যাক্সেস অপ্টিমাইজ করার জন্য প্রয়োজন নেই । দোভাষী সে নিজেই একটি আশ্চর্যজনক কাজ করে এবং এটি রিয়েল ওয়ার্ল্ডে কোনও পার্থক্য করবে না আপনি এটিকে অপ্টিমাইজ করলেন না বা না করুন। যদি আপনার অ্যারেটি এত বিশাল হয়ে যায় যে অনুকূলিতকরণ .lengthআসলে সহায়তা করবে তবে সম্ভবত কোনও অ্যারে সঠিক ডেটা কাঠামো নয়। ব্যবহারের forEachএর সুবিধাগুলি রয়েছে তবে এটি অত্যন্ত সন্দেহজনক যে বর্ধিত পারফরম্যান্স সেগুলির মধ্যে একটি হবে কারণ প্রতিটি পুনরাবৃত্তির জন্য ফাংশন কলটি ব্যয় করে এবং কিছুই সাশ্রয় করে না।
স্টিজন ডি উইট

29
@ রবার্টসিমার lengthআপনি যখনই কল করবেন তখনই অ্যারের বৈশিষ্ট্য গণনা করা হয় না, এটি arrayবস্তুতে সঞ্চিত একটি পরিবর্তনশীল , যা কেবল অ্যারে পরিবর্তন করলেই আপডেট হয়। তাই আসলে সহ কোন কর্মক্ষমতা খরচ আছে arr.lengthএর মধ্যে forশর্ত।
mikeyq6

7
@ মজিমি একজন শিক্ষানবিস হিসাবে প্রান্তের ক্ষেত্রে যেমন পারফরম্যান্স প্রশ্ন সম্পর্কে যে কোনও পরামর্শ এড়িয়ে যান ignore আরও অভিব্যক্তিপূর্ণ বাক্য গঠন ব্যবহার করুন। সময়ের সাথে সাথে জাভাস্ক্রিপ্ট রানটাইম আরও বেশি সংযোজন করে তোলে - তারা forEachকলব্যাক ফাংশনগুলিকে ইনলাইন করবে (তাদের মধ্যে কিছু সম্ভবত ইতিমধ্যে এটি করেছে) এবং উত্পন্ন মেশিন কোডে কোনও পার্থক্য থাকবে না, যদি ফাংশনটি প্রায়শই সংজ্ঞায়িত করার পরিবর্তে সংকলিত করার জন্য যথেষ্ট বলা হয় তবে রানটাইম একই পরামর্শ আসলে এমন কোনও ভাষার ক্ষেত্রে যায় যা সংঘবদ্ধ নয়, আসলে।
মেরে

1039

আপনি যদি কেবল একটি একক ভেরিয়েবল যুক্ত করে থাকেন তবে push()ঠিক কাজ করে। আপনার যদি অন্য অ্যারে সংযোজন করতে হয় তবে ব্যবহার করুন concat():

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

var ar3 = ar1.concat(ar2);

alert(ar1);
alert(ar2);
alert(ar3);

কনক্যাট প্রভাবিত করে না ar1এবং ar2পুনরায় নিয়োগ না করা পর্যন্ত উদাহরণস্বরূপ:

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

ar1 = ar1.concat(ar2);
alert(ar1);

এখানে প্রচুর দুর্দান্ত তথ্য ।


163
লোকেরা ভেরিটি ar3 = ar1.concat (ar2) ধরেছে তা নিশ্চিত করে; অংশ। ar1.concat (ar2) মানগুলিকে আর 1 তে সংরক্ষণ করে না। আপনাকে এটি ar3 এ অর্পণ করে বা ar1 তে ফিরে যেমন ধরতে হবে যেমন: ar1 = ar1.concat (ar2);
vbullinger

31
আমি বলব এটি আসলে ভুল উত্তর। প্রশ্নটি ছিল How do I append to an array in JavaScript?, তবে concatআসলে একটি নতুন অ্যারে তৈরি করে । এটি একটি গুরুত্বপূর্ণ পার্থক্য! পরিবর্তে আমি বলতে চাই যে ওমনিমিকের নীচের উত্তরটি আসলে সবচেয়ে ভাল: একটি নতুন অ্যারেটি তৈরি না করে পুরো অ্যারেটিকে একটি বিদ্যমান অ্যারেতে পুশ করতে অ্যাপ্লিকেশন ব্যবহার করুন ।
স্টিজন ডি উইট

@ স্টিজান্ডেউইট আপনি এখনও নতুন অ্যারে তৈরি না করেই যুক্ত করতে পারবেন, আগের মন্তব্যে ar1 = ar1.concat(ar2);ar1
যেমনটি

2
@ ক্যামেরোনজোনসভেব আসলে, এটি যা করে তা হ'ল একটি নতুন অ্যারে তৈরি করে যা একই বিষয়বস্তু ar1, সংযোজন ar2এবং তারপরে নতুন অ্যারে ফিরিয়ে দেয়। ar1 = ...কোডের এই লাইন থেকে কেবল অ্যাসাইনমেন্ট অংশ ( ) ছেড়ে দিন এবং আপনি দেখতে পাবেন যে আসলটি ar1 বাস্তবে পরিবর্তিত হয়নি। আপনি যদি অনুলিপি তৈরি করা এড়াতে চান তবে আপনার প্রয়োজন হবে push। আমাকে বিশ্বাস করবেন না, দস্তাবেজগুলিকে বিশ্বাস করুন : "কনক্যাট () পদ্ধতিটি নতুন অ্যারে ফিরিয়ে দেয়" এর জন্য ডক্সের প্রথম বাক্য concat
স্টিজন ডি উইট

পুনঃটুইট করেছেন তবে, এটি দেখার আলাদা উপায় যদিও, .push কেবলমাত্র একক ভেরিয়েবল / অবজেক্ট যুক্ত করার ক্ষেত্রে ভাল কাজ করে, তবে এটি অ্যারেগুলিকে সংযোজন করার ক্ষেত্রে আসে তবে গণ্ডগোল হবে ar2above .pushদৃশ্যের ফলাফল হবে = [ar1, [ar2]]। .ccat সমস্যাটি সমাধান করে তবে গতির ত্যাগ এবং একটি নতুন অ্যারে তৈরি হয়েছিল। .pushঅ্যারে সংযোজনগুলিতে সঠিকভাবে ব্যবহার করতে , প্রথমে অন্তর্ভুক্ত উপাদানটি লুপ আউট এবং প্রতিটি ধাক্কা। ar2.forEach(each => { ar1.push(each); });
এডি

407

কিছু দ্রুত বেঞ্চমার্কিং (প্রতিটি পরীক্ষা = 500 কে সংযুক্ত উপাদান এবং ফলাফলগুলি একাধিক রানের গড়) নীচে প্রদর্শিত হয়েছিল:

ফায়ারফক্স ৩.6 (ম্যাক):

  • ছোট অ্যারে: arr[arr.length] = bদ্রুত (300 মিমি বনাম 800 মিমি)
  • বড় অ্যারে: arr.push(b)দ্রুত (500 মিমি বনাম 900 মিমি)

সাফারি 5.0 (ম্যাক):

  • ছোট অ্যারে: arr[arr.length] = bদ্রুত (90ms বনাম 115 মিমি)
  • বড় অ্যারে: arr[arr.length] = bদ্রুত (160 মিমি বনাম 185 মিমি)

গুগল ক্রোম 6.0 (ম্যাক):

  • ছোট অ্যারে: কোনও তাত্পর্যপূর্ণ পার্থক্য নেই (এবং ক্রোমটি দ্রুত! কেবলমাত্র 38 ডলার !!)
  • বড় অ্যারে: উল্লেখযোগ্য পার্থক্য নেই (160 মিমি)

আমি arr.push()সিনট্যাক্সটি আরও ভাল পছন্দ করি তবে আমি মনে করি arr[arr.length]কমপক্ষে কাঁচা গতিতে আমি সংস্করণটি দিয়ে আরও ভাল । আমি যদিও আইই রান চালানোর ফলাফল দেখতে পছন্দ করি।


আমার বেঞ্চমার্কিং লুপগুলি:

function arrpush_small() {
    var arr1 = [];
    for (a = 0; a < 100; a++)
    {
        arr1 = [];
        for (i = 0; i < 5000; i++)
        {
            arr1.push('elem' + i);
        }
    }
}

function arrlen_small() {
    var arr2 = [];
    for (b = 0; b < 100; b++)
    {
        arr2 = [];
        for (j = 0; j < 5000; j++)
        {
            arr2[arr2.length] = 'elem' + j;
        }
    }
}


function arrpush_large() {
    var arr1 = [];
    for (i = 0; i < 500000; i++)
    {
        arr1.push('elem' + i);
    }
}

function arrlen_large() {
    var arr2 = [];
    for (j = 0; j < 500000; j++)
    {
        arr2[arr2.length] = 'elem' + j;
    }
}

9
প্রশ্নটি হল যে। দৈর্ঘ্য কোনও সঞ্চিত মান বা অ্যাক্সেস করার সময় গণনা করা হয়, যেহেতু যদি পরবর্তীটি সত্য হয় তবে এটি হতে পারে যে সূচকের মান হিসাবে একটি সাধারণ ভেরিয়েবল (যেমন জে) ব্যবহার করা আরও দ্রুত হতে পারে
yoel halb

4
একই পরীক্ষায় কনক্যাট () দেখতে ভাল লাগবে!
জাস্টিন

2
আমি ভাবছি গত চার বছরে এর কতটা পরিবর্তন হয়েছে changed (jsperf এখনই কাজে লাগবে))
পল

8
এই ধরণের বেঞ্চমার্কিং আকর্ষণীয়, তবে তাত্ক্ষণিকভাবে অ্যাপ্লিকেশনগুলি দ্রুত তৈরি করতে খুব বেশি সহায়ক নয়। রেন্ডারিং লুপটি যে কোনও চক্রের সময় অনেক বেশি ব্যয়বহুল। এছাড়াও জেএস ভাষার এই ইন্টার্নালগুলি ব্রাউজার বিকাশকারীরা ক্রমাগত অনুকূলিত করে চলেছে। এই উত্তরটির আকর্ষণীয়তা নয়, আমার ডাউনটোটের কারণ বলে। আপনি যদি দ্রুত অ্যাপ্লিকেশন চান, প্রথমে বেঞ্চমার্ক এবং কী পরিবর্তন করতে হবে তা দেখুন - 100 বারের মধ্যে 99 টি এই পরীক্ষার শোগুলির মতো সমস্যা হবে না। প্রায়শই এর দুর্বল বিকাশকারী জেএস / সিএসএস - ব্রাউজার ইন্টার্নালগুলি এটি ধীর করে দিচ্ছে না।
লেসকিউসার

7
আমি যখনই সম্ভব সম্ভব বিল্টিনগুলিতে লেগে থাকা লেসকুইয়েসারের সাথে একমত। মাইক্রো-অপটিমাইজেশন নিজের মধ্যে খারাপ নয় এমনটি নয়, তবে তিনি ঠিক বলেছেন যে ব্রাউজারগুলি সর্বদা তাদের ইঞ্জিনের গতি উন্নত করে চলেছে। বিষয়বস্তু: এই লেখার হিসাবে, প্রতি ব্রাউজারের সম্পাদনা উপরে তালিকাভুক্ত সমস্ত কৌশলগুলির জন্য প্রায় অভিন্ন। অর্থ এই কয়েক বছরের আগে এত ছোট লাভের জন্য প্রচুর গোলমাল, যখন এখন কোনও লাভ নেই।
বিউজর

297

আমি মনে করি এটি উল্লেখ করার মতো যে পুশকে একাধিক যুক্তি দিয়ে ডাকা যেতে পারে, যাতে অ্যারেটিতে ক্রম যুক্ত করা হবে। উদাহরণ স্বরূপ:

var arr = ['first'];
arr.push('second', 'third');
console.log(arr);

এর ফলস্বরূপ আপনি অন্য অ্যারেতে অ্যারে সংযোজন করতে push.apply ব্যবহার করতে পারেন:

var arr = ['first'];
arr.push('second', 'third');
arr.push.apply(arr, ['forth', 'fifth']);
console.log(arr);

টীকাগুলি ইএস 5 এর কাছে ঠিক কী ধাক্কা দেয় এবং প্রয়োগ হয় সে সম্পর্কে আরও তথ্য রয়েছে ।

2016 আপডেট: স্প্রেড সহ , আপনার applyআর দরকার নেই, যেমন:

var arr = ['first'];
arr.push('second', 'third');

arr.push(...['fourth', 'fifth']);
console.log(arr) ;


25
নতুন অ্যারে তৈরি না করার সময় আইটেমগুলির অ্যারে সংযুক্ত করার জন্য সেরা উত্তর।
গ্যাব্রিয়েল লিটম্যান

1
@ গ্যাব্রিয়েলিটম্যান বিশেষত কারণ একটি অ্যারে, আইএমএইচও-তে যুক্ত হওয়ার সাথে সাথে অ্যারেটি পরিবর্তন করা উচিত, একটি নতুন তৈরি করা উচিত নয়।
হুয়ান মেন্ডিস

3
আমি পুশ.প্লাই ভার্সনটি পছন্দ করি, তবে এটি ব্যবহার করি Array.prototype.push.apply()
মাইকেল

1
কখনও কখনও এটি অ্যারের রেফারেন্স সংরক্ষণ করা গুরুত্বপূর্ণ - উদাহরণস্বরূপ AngularJs এ যখন কোনও অ্যারে কিছু নিয়ামকের স্কোপ থাকে এবং কিছু পরিষেবাকে অ্যারেতে প্রদর্শনের জন্য ডেটা আপডেট করতে হয়। সে কারণেই আমি এই সমাধানটি upvoting করছি।
জোচ্চোর দেখুন

এই উত্তরটি সত্যই উচ্চতর হওয়া উচিত।
অ্যানোমালি

80

আপনি দুটি অ্যারে সংযোজন করতে ব্যবহার করতে পারেন pushএবং applyফাংশন করতে পারেন ।

var array1 = [11, 32, 75];
var array2 = [99, 67, 34];

Array.prototype.push.apply(array1, array2);
console.log(array1);

এটি সংযোজন array2করা হবে array1। এখন array1রয়েছে [11, 32, 75, 99, 67, 34]। এই কোডটি forঅ্যারের প্রতিটি আইটেম অনুলিপি করতে লুপগুলি লেখার চেয়ে অনেক সহজ ।


এটিই আমার প্রয়োজন, মূল অ্যারে রেফারেন্সটি বজায়
রাখুন

আপনি যদি ES6 / 7 ব্যবহার করে থাকেন তবে আপনি সম্পাদনার ...পরিবর্তে অপারেটরটিও করতে পারেন const a1 = [] const a2 = [5,6,7] const.push(...a2): সিনট্যাক্স হাইলাইট
মিয়েজকো

আমি array1.concat(array2)এই পরিস্থিতিতে ব্যবহার করব । কলটি pushঅপ্রয়োজনীয় বলে মনে হচ্ছে।
কানেক্টইউরচার্জার

56

নতুন ES6 স্প্রেড অপারেটরের সাহায্যে দুটি অ্যারে ব্যবহার করে যোগ দেওয়া pushআরও সহজ হয়ে যায়:

var arr = [1, 2, 3, 4, 5];
var arr2 = [6, 7, 8, 9, 10];
arr.push(...arr2);
console.log(arr);

এটি arr2শেষের দিকে সামগ্রীর যোগ করে arr

বাবেল REPL উদাহরণ


47

যদি arrএকটি অ্যারে valহয় এবং আপনি যে মানটি ব্যবহার করতে চান তা হ'ল:

arr.push(val);

যেমন

var arr = ['a', 'b', 'c'];
arr.push('d');
console.log(arr);



34

জাভাস্ক্রিপ্ট দিয়ে এর নাম ECMAScript 5 মান যা এখন অধিকাংশ ব্রাউজার দ্বারা সমর্থিত, আপনি ব্যবহার করতে পারেন apply()সংযোজন করতে array1করতে array2

var array1 = [3, 4, 5];
var array2 = [1, 2];

Array.prototype.push.apply(array2, array1);

console.log(array2); // [1, 2, 3, 4, 5]

ECMAScript 6 স্ট্যান্ডার্ড সহ জাভাস্ক্রিপ্ট যা ক্রোম এবং এফএফ এবং আইই এজ দ্বারা সমর্থিত, আপনি spreadঅপারেটরটি ব্যবহার করতে পারেন :

"use strict";
let array1 = [3, 4, 5];
let array2 = [1, 2];

array2.push(...array1);

console.log(array2); // [1, 2, 3, 4, 5]

spreadঅপারেটর প্রতিস্থাপন করবে array2.push(...array1);সঙ্গে array2.push(3, 4, 5);যখন ব্রাউজার যুক্তিবিজ্ঞান চিন্তা করা হয়।

বোনাস পয়েন্ট

আপনি যদি উভয় অ্যারে থেকে সমস্ত আইটেম সংরক্ষণ করতে অন্য পরিবর্তনশীল তৈরি করতে চান তবে আপনি এটি করতে পারেন:

ES5 var combinedArray = array1.concat(array2);

ES6 const combinedArray = [...array1, ...array2]

স্প্রেড অপারেটর ( ...) হ'ল একটি সংগ্রহ থেকে সমস্ত আইটেম ছড়িয়ে দেওয়া।


30

আপনি যদি দুটি অ্যারে সংযোজন করতে চান -

var a = ['a', 'b'];
var b = ['c', 'd'];

তাহলে আপনি ব্যবহার করতে পারেন:

var c = a.concat(b);

এবং যদি আপনি gঅ্যারেতে রেকর্ড যোগ করতে চান ( var a=[]) তবে আপনি ব্যবহার করতে পারেন:

a.push('g');

25

push()পদ্ধতি একটি অ্যারের শেষে নতুন আইটেম যোগ করা, এবং নতুন দৈর্ঘ্য ফেরৎ। উদাহরণ:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");

// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi

আপনার প্রশ্নের সঠিক উত্তর ইতিমধ্যে উত্তর দেওয়া হয়েছে, তবে আসুন অ্যারেতে আইটেম যুক্ত করার জন্য আরও কিছু উপায় দেখুন।

unshift()পদ্ধতি একটি অ্যারের শুরুতে নতুন আইটেম যোগ করা, এবং নতুন দৈর্ঘ্য ফেরৎ। উদাহরণ:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");

// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango

এবং শেষ অবধি, concat()পদ্ধতিটি দুই বা ততোধিক অ্যারে যোগ দিতে ব্যবহৃত হয়। উদাহরণ:

var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);

// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon

25

জাভাস্ক্রিপ্টে অ্যারে সংযোজন করার কয়েকটি উপায় রয়েছে:

1)push() পদ্ধতি একটি অ্যারের শেষে এক বা একাধিক উপাদান যোগ করা হয়েছে এবং অ্যারের নতুন দৈর্ঘ্য ফেরৎ।

var a = [1, 2, 3];
a.push(4, 5);
console.log(a);

আউটপুট:

[1, 2, 3, 4, 5]

2)unshift() পদ্ধতি একটি অ্যারের শুরুতে এক বা একাধিক উপাদান যোগ করা হয়েছে এবং অ্যারের নতুন দৈর্ঘ্য ফেরৎ:

var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a); 

আউটপুট:

[4, 5, 1, 2, 3]

3)concat() পদ্ধতি দুই বা ততোধিক অ্যারে একত্রীকরণ করতে ব্যবহৃত হয়। এই পদ্ধতিটি বিদ্যমান অ্যারেগুলিকে পরিবর্তন করে না , পরিবর্তে একটি নতুন অ্যারে প্রদান করে।

var arr1 = ["a", "b", "c"];
var arr2 = ["d", "e", "f"];
var arr3 = arr1.concat(arr2);
console.log(arr3);

আউটপুট:

[ "a", "b", "c", "d", "e", "f" ]

৪) অ্যারের .lengthশেষে কোনও উপাদান যুক্ত করতে আপনি অ্যারের সম্পত্তিটি ব্যবহার করতে পারেন :

var ar = ['one', 'two', 'three'];
ar[ar.length] = 'four';
console.log( ar ); 

আউটপুট:

 ["one", "two", "three", "four"]

5)splice() পদ্ধতি বিদ্যমান উপাদান সরানোর এবং / অথবা নতুন উপাদান যোগ করে একটি অ্যারের বিষয়বস্তু পরিবর্তন:

var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(4, 0, "nemo");
//array.splice(start, deleteCount, item1, item2, ...)
console.log(myFish);

আউটপুট:

["angel", "clown", "mandarin", "surgeon","nemo"]

)) আপনি অ্যারেতে একটি নতুন উপাদান যুক্ত করতে পারেন কেবল একটি নতুন সূচক নির্দিষ্ট করে এবং একটি মূল্য নির্ধারণ করে:

var ar = ['one', 'two', 'three'];
ar[3] = 'four'; // add new element to ar
console.log(ar);

আউটপুট:

["one", "two","three","four"]

1 এর জন্য) এটি "মূল অ্যারে পরিবর্তন না করে" বলে। তবে এটি আক্ষরিকভাবে কী pushকরে: এটি এতে নতুন উপাদানগুলিকে চাপিয়ে মূল অ্যারেটিকে পরিবর্তন করে। আমি কি এই ভুলটি পড়ছি, বা এটি সম্পাদনা করা উচিত?
ফিল ক্যালভিন


17

আপনি যদি সর্বোচ্চ সূচকটি জানেন (যেমন একটি ভেরিয়েবল "i" তে সঞ্চিত) তবে আপনি এটি করতে পারেন

myArray[i + 1] = someValue;

তবে আপনি যদি না জানেন তবে আপনি এটি ব্যবহার করতে পারেন

myArray.push(someValue);

অন্যান্য উত্তর হিসাবে প্রস্তাবিত, বা আপনি ব্যবহার করতে পারেন

myArray[myArray.length] = someValue; 

মনে রাখবেন যে অ্যারেটি শূন্য ভিত্তিক তাই দৈর্ঘ্য সর্বোচ্চ সূচক প্লাস ওয়ান দেয়।

এছাড়াও নোট করুন যে আপনাকে ক্রম যুক্ত করতে হবে না এবং আপনি আসলে হিসাবে মানগুলি এড়িয়ে যেতে পারেন

myArray[myArray.length + 1000] = someValue;

যে ক্ষেত্রে এর মধ্যে মানগুলির মধ্যে অপরিবর্তিত একটি মান থাকবে।

জাভাস্ক্রিপ্টের মধ্য দিয়ে লুপিং করার সময় এটির জন্য এটি একটি ভাল অনুশীলন যা সত্যতা আছে যে সেই স্থানে একটি মান আসলে বিদ্যমান exists

এটি নিম্নলিখিত মত কিছু দ্বারা করা যেতে পারে:

if(myArray[i] === "undefined"){ continue; }

আপনি যদি নিশ্চিত হন যে আপনার কাছে অ্যারেতে কোনও জিরো নেই তবে আপনি কেবল এটি করতে পারেন:

if(!myArray[i]){ continue; }

অবশ্যই এই ক্ষেত্রে নিশ্চিত করুন যে আপনি শর্তটি MyArray [i] হিসাবে ব্যবহার করবেন না (যেমন ইন্টারনেটের কিছু লোক শেষের উপর ভিত্তি করে পরামর্শ দেয় যে যত তাড়াতাড়ি আমি বড় হব ততক্ষণে এটি সর্বোচ্চ সূচকটি ফিরে আসবে যা মূল্যায়ন করে মিথ্যা)


আপনি আসলে না মানে "undefined"। এটা অবশ্যই পড়তে হবে void 0! "undefined"একটি স্ট্রিং এবং "undefined" !== void 0সুতরাং if(myArray[i]সূচীতে অ্যারে এর iসমতুল্য সামগ্রীর সাথে স্ট্রিংটিতে সেট না করা আপনার মিথ্যা 'u'+'n'+'d'+'e'+'f'+'i'+'n'+'e'+'d'। এছাড়াও মনে রাখবেন যে undefinedপরিবর্তে আপনার ব্যবহার করা উচিত নয় void 0। কারণ void 0সর্বদা অপরিবর্তিত মান, এমন কিছুর undefinedমাধ্যমে সংজ্ঞায়িত করা যায় function x(undefined) { alert(undefined) } x("hello world"), তাই কেউ দুর্ঘটনাক্রমে সেট করে ফেলেছে window["undefined"]=1বা তার অনুরূপ হয়েছে কিনা তা আপনি নিশ্চিত হতে পারবেন না ।
তিনো

14

একক উপাদান যুক্ত করুন

//Append to the end
arrName.push('newName1');

//Prepend to the start
arrName.unshift('newName1');

//Insert at index 1
arrName.splice(1, 0,'newName1');
//1: index number, 0: number of element to remove, newName1: new element


// Replace index 3 (of exists), add new element otherwise.
arrName[3] = 'newName1';

একাধিক উপাদান যুক্ত করুন

//Insert from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
//1: index number from where insert starts, 
//0: number of element to remove, 
//newElemenet1,2,3: new elements

অ্যারে যোগ করুন

//join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array

1
না কেন arrName.push('newElemenet1, newElemenet2, newElemenet3')?
মিহাইল মালোস্টানিডিস

1
ধাক্কায় () এটি উপাদানটি শেষ পর্যন্ত sertোকায় তবে আমার উদাহরণে এটি উপাদানটি মধ্যম দিকে সন্নিবেশ করায় অর্থাৎ অ্যারে সূচি 1 থেকে (উদাহরণ হিসাবে) @ মিহাইল মালোস্টানিডিস
শ্রীকৃষ্ণ

ওহ, আমি অনুমান করেছি যে এটি arrNameদৈর্ঘ্যের ছিল 1
মিহাইল মালোস্টানিডিস

11

concat()অবশ্যই 2 টি মাত্রিক অ্যারে ব্যবহার করা যেতে পারে। কোনও লুপিংয়ের প্রয়োজন নেই।

var a = [[1, 2], [3, 4]];

var b = [["a", "খ"], ["গ", "ডি"]];

b = b.concat (a);

সতর্কতা (খ [2] [1]); // ফলাফল 2


10

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

myarray[myarray.length] = 'new element value added to the end of the array';

myarray.leth অ্যারে স্ট্রিংয়ের সংখ্যা প্রদান করে। জেএস শূন্য ভিত্তিক তাই অ্যারের পরবর্তী উপাদান কী অ্যারের বর্তমান দৈর্ঘ্য হবে। গো EX:

var myarray = [0, 1, 2, 3],
    myarrayLength = myarray.length; //myarrayLength is set to 4

9

কোনও উপাদানের অ-ধ্বংসাত্মক সংযোজনের জন্য কেবল একটি স্নিপেট যুক্ত করতে চান।

var newArr = oldArr.concat([newEl]);

8

একটি অ্যারেতে একটি মান যুক্ত করুন

যেহেতু অ্যারে.প্রোটোটাইপ.পুষস অ্যারের শেষে এক বা একাধিক উপাদান যুক্ত করে এবং অ্যারের নতুন দৈর্ঘ্যটি ফেরত দেয় , কখনও কখনও আমরা কেবলমাত্র নতুন আপ টু ডেট অ্যারে পেতে চাই যাতে আমরা এরকম কিছু করতে পারি:

const arr = [1, 2, 3];
const val = 4;

arr.concat([val]); // [1, 2, 3, 4]

বা শুধু:

[...arr, val] // [1, 2, 3, 4]

2
বিশ্রাম অপারেটরের জন্য ইএস 6 দিয়ে সংশোধন করুন।
monikapatelIT

7

আপনি যদি ES6 ব্যবহার করছেন তবে আপনি এটি করতে স্প্রেড অপারেটরটি ব্যবহার করতে পারেন ।

var arr = [
    "apple",
    "banana",
    "cherry"
];

var arr2 = [
    "dragonfruit",
    "elderberry",
    "fig"
];

arr.push(...arr2);

7

আপনি এটি নতুন জাভাস্ক্রিপ্ট এস 6 বৈশিষ্ট্যটি ব্যবহার করে করতে পারেন:

// initialize array

var arr = [
    "Hi",
    "Hello",
    "Bangladesh"
];

// append new value to the array

arr= [...arr , "Feni"];

// or you can put a variable value

var testValue = "Cool";

arr = [...arr , testValue ];

console.log(arr); 

// final output  [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]

1
এটি অ্যারেতে মূল্য সংযোজন করে না, যা ওপি বলেছিল। এটি পুরানো অ্যারে এবং নতুন উপাদানগুলির সামগ্রী সহ একটি নতুন অ্যারে তৈরি করে। সত্যিই, এটি অ্যারে কোডক্যাট।
রিচার্ড ম্যাথসন

5

আপনি যদি সদৃশ ব্যতীত 2 অ্যারে সংযুক্ত করতে চান তবে নীচের কোডটি চেষ্টা করতে পারেন

array_merge = function (arr1, arr2) {
  return arr1.concat(arr2.filter(function(item){
    return arr1.indexOf(item) < 0;
  }))
}

ব্যবহার:

array1 = ['1', '2', '3']
array2 = ['2', '3', '4', '5']
combined_array = array_merge(array1, array2)

আউটপুট: [1,2,3,4,5]


5

একটি একক আইটেম যুক্ত করুন

অ্যারেতে একটি আইটেম সংযোজন push()করতে অ্যারে অবজেক্ট দ্বারা সরবরাহিত পদ্ধতিটি ব্যবহার করুন :

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango')
console.log(fruits)

push() মূল অ্যারেটি পরিবর্তন করে।

পরিবর্তে একটি নতুন অ্যারে তৈরি করতে, concat()অ্যারে পদ্ধতিটি ব্যবহার করুন :

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)

লক্ষ্য করুন যে concat()আসলে অ্যারেতে কোনও আইটেম যুক্ত হয় না, তবে একটি নতুন অ্যারে তৈরি করে, যা আপনি অন্য ভেরিয়েবলকে অর্পণ করতে পারেন, বা মূল অ্যারেটিতে letপুনরায় সাইন করতে পারেন (এটি ঘোষণা করে , আপনি এটিকে পুনরায় সাইন করতে পারবেন না const):

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
let fruits = ['banana', 'pear', 'apple']
fruits = fruits.concat('mango')

একাধিক আইটেম যুক্ত করুন

একটি অ্যারেতে একাধিক আইটেম সংযুক্ত করতে, আপনি push()একাধিক যুক্তি দিয়ে কল করে এটি ব্যবহার করতে পারেন :

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango', 'melon', 'avocado')
console.log(fruits)

concat()কমা দ্বারা আলাদা করা আইটেমের একটি তালিকা পাস করে আপনি আগে যে পদ্ধতিটি দেখেছেন তাও ব্যবহার করতে পারেন :

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango', 'melon', 'avocado')
console.log(allfruits)

বা একটি অ্যারে:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat(['mango', 'melon', 'avocado'])
console.log(allfruits)

মনে রাখবেন যে পূর্বে বর্ণিত হিসাবে এই পদ্ধতিটি মূল অ্যারেটিকে রূপান্তরিত করে না, তবে এটি একটি নতুন অ্যারে প্রদান করে।

মূলত পোস্ট করা


4

আপনি .push () এ মানটি। উদাহরণ: অ্যারে.পশ (মান);


4

আপনি যদি অ্যারেতে একটি একক মান যুক্ত করতে চান তবে কেবল পুশ পদ্ধতিটি ব্যবহার করুন। এটি অ্যারের শেষে একটি নতুন উপাদান যুক্ত করবে।

তবে আপনি যদি একাধিক উপাদান যুক্ত করতে চান তবে উপাদানগুলি একটি নতুন অ্যারেতে সংরক্ষণ করুন এবং দ্বিতীয় অ্যারেটিকে প্রথম অ্যারে দিয়ে কনক্যাট করুন ... আপনি যেভাবেই চান।

arr=['a','b','c'];
arr.push('d');
//now print the array in console.log and it will contain 'a','b','c','d' as elements.
console.log(array);

2

জাভাস্ক্রিপ্টে অ্যারের জন্য আমাদের সংযোজন ফাংশন নেই, তবে আমাদের ধাক্কা এবং আনশিফ্ট রয়েছে , কল্পনা করুন যে আপনার নীচে অ্যারে রয়েছে:

var arr = [1, 2, 3, 4, 5];

এবং আমরা এই অ্যারেতে একটি মান সংযোজন করতে চাই, আমরা এটি করতে পারি, অ্যারিপশ (6) এবং এটি অ্যারের শেষে 6 যোগ করবে:

arr.push(6); // return [1, 2, 3, 4, 5, 6];

এছাড়াও আমরা আনশিফ্ট ব্যবহার করতে পারি, আমরা কীভাবে এটি প্রয়োগ করতে পারি তা দেখুন:

arr.unshift(0); //return [0, 1, 2, 3, 4, 5];

অ্যারেগুলিতে নতুন মান যুক্ত করতে বা যুক্ত করার জন্য এগুলি প্রধান ফাংশন।


1

আপনি ধাক্কা পদ্ধতি ব্যবহার করতে পারেন।

Array.prototype.append = function(destArray){
     destArray = destArray || [];
     this.push.call(this,...destArray);
     return this;
}
var arr = [1,2,5,67];
var arr1 = [7,4,7,8];
console.log(arr.append(arr1));// [7, 4, 7, 8, 1, 4, 5, 67, 7]
console.log(arr.append("Hola"))//[1, 2, 5, 67, 7, 4, 7, 8, "H", "o", "l", "a"]

0

push()অ্যারের শেষে একটি নতুন উপাদান যুক্ত করে।
pop()অ্যারের প্রান্ত থেকে একটি উপাদান সরিয়ে দেয়।

কোনও বস্তুর (যেমন একটি স্ট্রিং বা সংখ্যা) অ্যারে ব্যবহারে যুক্ত করতে -
array.push(toAppend);


0

একটি অ্যারেতে আইটেম যুক্ত করা হচ্ছে

let fruits =["orange","banana","apple","lemon"]; /*array declaration*/

fruits.push("avacado"); /* Adding an element to the array*/

/*displaying elements of the array*/

for(var i=0; i < fruits.length; i++){
  console.log(fruits[i]);
}

0

আপনি যদি মানগুলি যুক্ত করতে চান তবে আপনি পুশ () ব্যবহার করতে পারেন arr.push("Test1", "Test2");

আপনার অ্যারে থাকলে আপনি কনক্যাট () উদাহরণ ব্যবহার করতে পারেন Array1.concat(Array2)

আপনার যুক্ত করার জন্য যদি কেবল একটি উপাদান থাকে তবে আপনি দৈর্ঘ্যের মেন্থডও চেষ্টা করতে পারেন array[aray.length] = 'test';

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.