আমি নিম্নলিখিত অ্যারে আছে।
var arr = [1,0,2];
আমি সর্বশেষ উপাদানটি 2 মুছে ফেলতে চাই।
আমি ব্যবহার করেছি arr.slice(-1);
তবে এটি মানটি সরিয়ে দেয় না।
arr.slice(0,-1)
আমার জন্য সেরা সমাধান ছিল
splice()
দ্বিতীয় মামলা: pop()
।
আমি নিম্নলিখিত অ্যারে আছে।
var arr = [1,0,2];
আমি সর্বশেষ উপাদানটি 2 মুছে ফেলতে চাই।
আমি ব্যবহার করেছি arr.slice(-1);
তবে এটি মানটি সরিয়ে দেয় না।
arr.slice(0,-1)
আমার জন্য সেরা সমাধান ছিল
splice()
দ্বিতীয় মামলা: pop()
।
উত্তর:
স্প্লাইস ব্যবহার করুন (সূচক, হাউম্যানি)
arr.splice(-1,1)
[1].splice(-1, 1)
=>[1]
[0,1,2] -> [2]
, পিছনে যাব [0,1]
। যদি এটি হয় [arr.pop()]
তবে কৌতুকটি করবে।
array.pop()
পরিবর্তিত পরিবর্তন হবে array
, যখন slice(0, -1)
না। পপ অবশ্যই দ্রুত কিন্তু সমস্ত প্রয়োজনের জন্য সর্বদা উপযুক্ত নাও হতে পারে।
জাভা স্ক্রিপ্ট কনভেনশন দ্বারা অ্যারে.প্রোটোটাইপ.পপ () ।
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]
আপনি এই .slice()
পদ্ধতিটি ব্যবহার করে এটি করতে পারেন:
arr.slice(0, -1); // returns [1,0]
এখানে একটি ডেমো রয়েছে:
var arr = [1, 0, 2];
var newArr = arr.slice(0, -1); // returns [1,0]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
<script src="http://code.jquery.com/jquery.min.js"></script>
<b>Original Array : </b>
<div id="div1"></div>
<br/>
<b>After slice(0, -1): </b>
<div id="div2"></div>
পরিবর্তে করছেন:
arr.slice(-1); // returns [2]
এখানে একটি ডেমো রয়েছে:
var arr = [1, 0, 2];
var newArr = arr.slice(-1); // returns [2]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
<script src="http://code.jquery.com/jquery.min.js"></script>
<b>Original Array : </b>
<div id="div1"></div>
<br/>
<b>After slice(-1): </b>
<div id="div2"></div>
Array.prototype.slice()
সংক্ষিপ্ত slice()
পদ্ধতিতে বা এর প্রাথমিক বাক্য গঠনটি হ'ল:
arr.slice([begin[, end]])
এখানে,
begin
পরামিতি, যা একটি অ্যারের শুরু থেকে নিষ্কাশন এ শূন্য ভিত্তিক সূচি। সুতরাং, উপরের উদাহরণের উপর ভিত্তি করে বলি যদি আমরা কিছু করি
arr.slice(0) // returns [1,0,2]
এটি অবস্থান 0 থেকে ক্রম শুরু হতে সমস্ত অ্যারের উপাদানগুলি ফিরে আসবে এবং এটি [1,0,2]
। একইভাবে, আমরা যদি
arr.slice(1) // returns [0,2]
এটি এখানে ফিরে আসবে [0,2]
যেহেতু 0 এখানে 1 পজিশনে রয়েছে এবং এর পরে সবকিছু। এখন, আপনার ক্ষেত্রে আপনি একটি নেতিবাচক সূচী পাস করেছেন, -1
যেমন সূচনা পরামিতি হিসাবে, যা অনুক্রমের শেষে থেকে একটি অফসেট নির্দেশ করে। সুতরাং, slice(-1)
আপনার ক্ষেত্রে সিকোয়েন্সে সর্বশেষ এক অ্যারের উপাদানটি বের করা হয় এবং তা হ'ল 2
( আমরা ইতিমধ্যে উপরের ডেমোতে দেখেছি )।
এখন, এখানে পদ্ধতি সিনট্যাক্সের end
প্যারামিটার সম্পর্কে এখানে কথা বলা যাক slice()
। এটি আবার শূন্য-ভিত্তিক সূচক যেখানে একটি অ্যারে থেকে নিষ্কাশন শেষ হয়। সুতরাং, আসুন আমরা বলতে পারি যে আমাদের মতো অ্যারে রয়েছে:
var arr = [1, 0, 2, 5, 3, 9];
এবং আমরা 2,5,3
অ্যারেতে কেবল উপাদানগুলি পেতে চাই । এখন, 2
সিকোয়েন্স শুরু থেকে অবস্থান 2
এবং শেষ উপাদানটির জন্য 3
এটি 4
। আমাদের এখানে অবস্থানের 5 টি অবস্থান নিষ্কাশন শেষ করতে হবে, কারণ আমাদের অবস্থানের আগে উপাদানটি পাওয়া দরকার। সুতরাং, আমরা slice()
এখানে সহজভাবে পদ্ধতি প্রয়োগ করব
arr.slice(2, 5) // returns [2,5,3]
আপনার ক্ষেত্রে, আমরা -1
শেষ প্যারামিটার হিসাবে প্রয়োগ করেছি , তাই আমাদের কোডটি এর মতো
arr.slice(0, -1) // returns [1,0]
নেতিবাচক সূচক হিসাবে, end
অনুক্রমের শেষে থেকে একটি অফসেট ইঙ্গিত করে। সুতরাং, slice(0,-1)
অনুক্রমের দ্বিতীয় থেকে শেষের উপাদানটির মাধ্যমে প্রথম উপাদানটি বের করে। সুতরাং, আমরা পছন্দসই আউটপুট পেতে। আমরা পছন্দ করতে পারেন
arr.slice(0, 2) // returns [1,0]
আমরা একই আউটপুট পাবেন। তবে, আমি -1
এখানে দীর্ঘতর অ্যারের মতো প্রয়োগ করতে এর সহজ হিসাবে ব্যবহার করেছি
[0,2,3,1,2,9,3,6,3,9,1,0,2,9,0,1,1,2,3,4,7,9,1]
আপনি যদি কেবল সর্বশেষ উপাদানটি সরাতে চান তবে আপনি এখানে বসে শেষ 9 এর অবস্থান এবং এখানে করা পছন্দগুলি গণনা করতে চান না arr.slice(0, 22)
। তারপরে আপনি কেবল এখানে নেতিবাচক সূচক যুক্তিটি বাস্তবায়ন করতে পারেন & করুন
arr.slice(0, -1) // same result as arr.slice(0, 22)
আশা করি এটা সাহায্য করবে!
arr
বরং এটি একটি নতুন অ্যারে প্রদান করে যা সেই শেষ আইটেমটি বাদ দেয়। মোজিলার ডক্স যেমন বলে: "স্লাইস () পদ্ধতিটি অ্যারের কোনও অংশের অগভীর অনুলিপিটি একটি নতুন অ্যারে অবজেক্টে ফিরিয়ে দেয়"।
arr.slice(0, -1)
সেরা উত্তর।
উদাহরণ দিয়ে শিখুন:
let array_1 = [1,2,3,4];
let array_2 = [1,2,3,4];
let array_3 = [1,2,3,4];
array_1.splice(-1,1) // output --> [4] array_1 = [1,2,3]
array_2.slice(0,-1); // output --> [1,2,3] array_2 = [1,2,3,4]
array_3.pop(); // output --> 4 array_3 = [1,2,3]
slice
আসল অ্যারে পরিবর্তন করে না বলে আপনার এটি করা দরকার ।
arr = arr.slice(-1);
আপনি যদি মূল অ্যারেটি পরিবর্তন করতে চান তবে আপনি ব্যবহার করতে পারেন splice
:
arr.splice(-1, 1);
বা pop
:
arr.pop();
আমি .pop()
সর্বাধিক 'সঠিক' সমাধান হিসাবে বিবেচনা করব, তবে, কখনও কখনও এটি কার্যকর না হতে পারে কারণ আপনাকে ঠিক শেষ উপাদান ছাড়াই অ্যারে ব্যবহার করা প্রয়োজন ...
এই ক্ষেত্রে আপনি নিম্নলিখিতটি ব্যবহার করতে চাইতে পারেন, এটি ফিরে আসবে [1,2,3]
var arr = [1,2,3,4];
console.log(arr.splice(0,arr.length-1));
যখন .pop()
ফিরে আসবে 4
:
var arr = [1,2,3,4];
console.log(arr.pop());
যা কাম্য নাও হতে পারে ...
আশা করি এটি আপনার কিছুটা সময় সাশ্রয় করবে।
আপনার ব্যবহারের ক্ষেত্রে কেবল নিম্নলিখিতটি ব্যবহার করুন:
var arr = [1,2,3,4];
arr.pop() //returns 4 as the value
arr // value 4 is removed from the **arr** array variable
শুধু একটি নোট. আপনি যখন pop()
ফাংশনটি সম্পাদন করেন তবুও লাইনটি পপড আইটেমটি প্রদান করে মূল অ্যারেটি কার্যকর হয় এবং পপড উপাদানটি সরানো হয়।
আপনি এটি দুটি উপায়ে ব্যবহার করে করতে পারেন splice()
:
arr.splice(-1,1)
arr.splice(arr.length-1,1)
splice(position_to_start_deleting, how_many_data_to_delete)
দুটি প্যারামিটার লাগে।
position_to_start_deleting
: শূন্য ভিত্তিক সূচক যেখানে থেকে মোছা শুরু করবেন।
how_many_data_to_delete
: নির্দেশিত সূচক থেকে, কতটা পরপর তথ্য মুছে ফেলা উচিত।
এছাড়াও আপনি শেষ উপাদান ব্যবহার অপসারণ করতে পারেন pop()
যেমন pop()
কিছু অ্যারে থেকে সরিয়ে শেষ উপাদান।
ব্যবহারarr.pop()
arr.slice(-1)
অ্যারের শেষ উপাদানটির একটি অনুলিপি ফিরে আসবে , তবে মূল অ্যারেটি অবিস্মরণিত রেখে দেয়।
n
একটি অ্যারের থেকে শেষ উপাদানগুলি সরাতে , ব্যবহার করুন arr.splice(-n)
("স্প্লাইস" এ "পি" নোট করুন)। রিটার্ন মান হ'ল সরানো উপাদানগুলি সহ একটি নতুন অ্যারে হবে।
সহজ, এখনও জন্য n == 1
, ব্যবহারval = arr.pop()
এই পদ্ধতিটি অ্যারের শেষ উপাদানটি মুছতে এবং সঞ্চয় করতে আরও সহায়ক।
var sampleArray = [1,2,3,4];// Declaring the array
var lastElement = sampleArray.pop();//this command will remove the last element of `sampleArray` and stores in a variable called `lastElement` so that you can use it if required.
এখন ফলাফলগুলি:
console.log(sampleArray); //This will give you [1,2,3]
console.log(lastElement); //this will give you 4
এটি লক্ষণীয় যে slice
উভয়ই আবার নতুন অ্যারে ফিরিয়ে দেবে , যেখানে .pop()
এবং.splice()
পরিবর্তন ঘটান হবে বিদ্যমান অ্যারে।
আপনি যদি শৃঙ্খলিত কমান্ড শৈলীর সাথে ডেটা সংগ্রহগুলি পরিচালনা করতে পছন্দ করেন, তবে আপনি সত্যিকার অর্থে slice
এরকম কিছু পেতে চাইবেন।
উদাহরণ স্বরূপ:
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArrayOfThings = myArray
.filter(x => x > 5) // only bigly things
.slice(-1) // get rid of the last item
.map(x => `The number is: ${x}`);// map to a set of strings
"পপ" এর সাথে একই ধরণের জিনিসটি করার জন্য এটির জন্য আরও অনেক গণ্ডগোল, এবং পরিবর্তনশীল পরিচালনার প্রয়োজন হতে পারে map
, filter
ইত্যাদি, আপনি একটি নতুন অ্যারে ফিরে পেতে হবে না।
এটি একই ধরণের জিনিস push
, যা অ্যারের শেষে একটি আইটেম যুক্ত করে। আপনি সম্ভবত আরও ভাল হতে পারেন concat
যেহেতু এটি আপনাকে প্রবাহকে চালিয়ে যেতে দেয়।
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArrayOfThings = myArray
.filter(x => x > 5) // only bigly things
.slice(-1) // get rid of the "10"
.concat([100]) // note with concat, you must pass an array
.map(x => `The number is: ${x}`) // map to a set of strings
Lodash আপনি ব্যবহার করতে পারেন dropRight আপনি যদি জানেন যা উপাদান সরানো হয়েছে পরোয়া করি না:
_.dropRight([1, 2, 3])
// => [1, 2]
_.dropRight([1, 2, 3], 2);
// => [1]
2019 ইসিএমএ 5 সমাধান:
const new_arr = arr.reduce((d, i, idx, l) => idx < l.length - 1 ? [...d, i] : d, [])
ধ্বংসাত্মক, জেনেরিক, ওয়ান-লাইনার এবং আপনার অ্যারের শেষে কেবল একটি অনুলিপি এবং পেস্ট প্রয়োজন।
I would like to remove the last element
। এটির জন্য মূল অ্যারেটিতে একটি ধ্বংসাত্মক / মিউটেশন অপারেশন দরকার।
বলো তোমার আছে var arr = [1,0,2]
arr.splice(-1,1)
আপনি ফিরে আসবে array [1,0];
যখন arr.slice(-1,1)
তোমার কাছে ফিরে আসবেarray [2];
শেষ আইটেমটি সরিয়ে ফেলার এটি ভাল উপায়:
if (arr != null && arr != undefined && arr.length > 0) {
arr.splice(arr.length - 1, 1);
}
নিম্নলিখিত হিসাবে স্প্লাইস বিস্তারিত:
স্প্লাইস (স্টার্টইন্ডেক্স, বিভাজনের সংখ্যা)
var stack = [1,2,3,4,5,6];
stack.reverse().shift();
stack.push(0);
আউটপুট হবে: অ্যারে [0,1,2,3,4,5] । এটি আপনাকে নতুন পরিমাণে যতটা চাপ দেবে তত পরিমাণ অ্যারে উপাদান রাখার অনুমতি দেবে।