মধ্যে পার্থক্য কি spliceএবং slice?
$scope.participantForms.splice(index, 1);
$scope.participantForms.slice(index, 1);
মধ্যে পার্থক্য কি spliceএবং slice?
$scope.participantForms.splice(index, 1);
$scope.participantForms.slice(index, 1);
উত্তর:
splice()মূল অ্যারে পরিবর্তিত হয় যেখানে slice()না উভয়ই অ্যারে অবজেক্ট প্রদান করে।
নীচের উদাহরণগুলি দেখুন:
var array=[1,2,3,4,5];
console.log(array.splice(2));
এই ফিরে আসবে [3,4,5]। মূল অ্যারের প্রভাবিত হয় ফলে arrayহচ্ছে [1,2]।
var array=[1,2,3,4,5]
console.log(array.slice(2));
এই ফিরে আসবে [3,4,5]। মূল অ্যারের প্রভাবিত হয় না ফলে সঙ্গে arrayহচ্ছে [1,2,3,4,5]।
নীচে সরল ফিজল যা এটি নিশ্চিত করে:
//splice
var array=[1,2,3,4,5];
console.log(array.splice(2));
//slice
var array2=[1,2,3,4,5]
console.log(array2.slice(2));
console.log("----after-----");
console.log(array);
console.log(array2);
arr1 = arr0.slice()
spliceযেমন আপনার কাছ থেকে ট্যাক্স নেওয়ার মতো কোনও সরকার। যদিও sliceআরও একটি অনুলিপি-পেস্ট লোক।
.splice()হয় অত্যন্ত unintuitive, আমি শুধু জিনিসটা কেন মূল অ্যারের উল্লেখ ফিরছিলেন চেষ্টা বয়সের অতিবাহিত undefinedনা হওয়া পর্যন্ত আমি এই থ্রেডে পাওয়া যায় নি।
স্প্লাইস এবং স্লাইস উভয়ই জাভাস্ক্রিপ্ট অ্যারে ফাংশন।
স্প্লাইস বনাম স্লাইস
স্প্লাইস () পদ্ধতিটি একটি অ্যারেতে সরানো আইটেম (গুলি) এবং স্লাইস () পদ্ধতিটি নতুন অ্যারে অবজেক্ট হিসাবে একটি অ্যারেতে নির্বাচিত উপাদান (গুলি) প্রদান করে।
স্প্লাইস () পদ্ধতিটি মূল অ্যারে পরিবর্তন করে এবং স্লাইস () পদ্ধতিটি মূল অ্যারে পরিবর্তন করে না।
স্প্লাইস () পদ্ধতিতে n সংখ্যাটি আর্গুমেন্ট নিতে পারে এবং স্লাইস () পদ্ধতিতে 2 টি আর্গুমেন্ট লাগে।
উদাহরণ সহ স্প্লাইস
তর্ক 1: সূচক, প্রয়োজনীয়। একটি পূর্ণসংখ্যা যা আইটেমগুলি যুক্ত / সরিয়ে ফেলতে হবে তা নির্দিষ্ট করে, অ্যারের শেষ থেকে অবস্থানটি নির্দিষ্ট করতে নেতিবাচক মানগুলি ব্যবহার করুন।
তর্ক 2: .চ্ছিক। সরানো আইটেমের সংখ্যা। যদি 0 (শূন্য) এ সেট করা থাকে তবে কোনও আইটেম সরানো হবে না। এবং যদি পাস না করা হয় তবে প্রদত্ত সূচক থেকে সমস্ত আইটেম সরানো হবে।
তর্ক 3… এন: .চ্ছিক। অ্যারেতে যুক্ত হওয়া নতুন আইটেম (গুলি)।
var array=[1,2,3,4,5];
console.log(array.splice(2));
// shows [3, 4, 5], returned removed item(s) as a new array object.
console.log(array);
// shows [1, 2], original array altered.
var array2=[6,7,8,9,0];
console.log(array2.splice(2,1));
// shows [8]
console.log(array2.splice(2,0));
//shows [] , as no item(s) removed.
console.log(array2);
// shows [6,7,9,0]
উদাহরণ সহ স্লাইস
তর্ক 1: প্রয়োজনীয়। একটি পূর্ণসংখ্যা যা নির্বাচনটি কোথায় শুরু করতে হবে তা উল্লেখ করে (প্রথম উপাদানটির একটি সূচক 0 থাকে)। অ্যারের প্রান্ত থেকে নির্বাচন করতে নেতিবাচক সংখ্যাগুলি ব্যবহার করুন।
তর্ক 2: .চ্ছিক। একটি পূর্ণসংখ্যা যা নির্বাচনটি কোথায় শেষ করতে হবে তা নির্দিষ্ট করে কিন্তু এতে অন্তর্ভুক্ত নেই। বাদ দেওয়া থাকলে শুরু অবস্থান থেকে অ্যারের শেষ পর্যন্ত সমস্ত উপাদান নির্বাচন করা হবে। অ্যারের প্রান্ত থেকে নির্বাচন করতে নেতিবাচক সংখ্যাগুলি ব্যবহার করুন।
var array=[1,2,3,4,5]
console.log(array.slice(2));
// shows [3, 4, 5], returned selected element(s).
console.log(array.slice(-2));
// shows [4, 5], returned selected element(s).
console.log(array);
// shows [1, 2, 3, 4, 5], original array remains intact.
var array2=[6,7,8,9,0];
console.log(array2.slice(2,4));
// shows [8, 9]
console.log(array2.slice(-2,4));
// shows [9]
console.log(array2.slice(-3,-1));
// shows [8, 9]
console.log(array2);
// shows [6, 7, 8, 9, 0]
splice(x,y), slice(x,y)দ্বিতীয় আর্গুমেন্টের বিপরীতে , yx এর অবস্থান থেকে গণনা করা হয় না, তবে অ্যারের প্রথম উপাদান থেকে।
array.slice(index, count)ব্যবহার করেন তবে আপনি array.slice((index, count))'স্লাইসিং' এর পরে অবশিষ্ট অংশটি পাবেন। চেষ্টা করে দেখুন!
ফালি () পদ্ধতি একটি নতুন অ্যারে বস্তুর মধ্যে একটি অ্যারের একটি অংশ একটি কপি ফেরৎ।
$scope.participantForms.slice(index, 1);
এটি অ্যারে পরিবর্তন করে না তবে মূল অ্যারেতে participantFormsঅবস্থিত একক উপাদান যুক্ত একটি নতুন indexঅ্যারে প্রদান করে।
সংযুক্ত করান () পদ্ধতি বিদ্যমান উপাদান সরানোর এবং / অথবা নতুন উপাদান যোগ করে একটি অ্যারের বিষয়বস্তু পরিবর্তন।
$scope.participantForms.splice(index, 1);
এটি অবস্থানের participantFormsঅ্যারে থেকে একটি উপাদান সরিয়ে ফেলবে index।
এগুলি জাভাস্ক্রিপ্টের নেটিভ ফাংশন, অ্যাংুলারজেএস এর সাথে তাদের কোনও সম্পর্ক নেই।
splice2nd ARG আগমন অ্যারের মধ্যে উপাদানের গণনা, কিন্তু জন্য slice2nd ARG রিটার্ন + 1 চূড়ান্ত উপাদান সূচক slice(index,1)অগত্যা এক উপাদান থেকে শুরু একটি অ্যারের ফেরত দেয় না index। [1,2,3,4,5].slice(0,1)আয় [1]কিন্তু [1,2,3,4,5].slice(3,1)আয় []কারণ 1হিসেবে ব্যাখ্যা করা হয় final index +1, যাতে final index = 0কিন্তু এই আগে start index = 3তাই খালি অ্যারে ফিরিয়ে দেওয়া হয়।
এখানে মধ্যে পার্থক্য মনে রাখতে একটি সহজ কৌতুক sliceবনামsplice
var a=['j','u','r','g','e','n'];
// array.slice(startIndex, endIndex)
a.slice(2,3);
// => ["r"]
//array.splice(startIndex, deleteCount)
a.splice(2,3);
// => ["r","g","e"]
Trick to remember:
"spl" (first 3 letters of splice)"নির্দিষ্ট দৈর্ঘ্যের" জন্য ছোট হিসাবে ভাবেন, দ্বিতীয় তর্কটি দৈর্ঘ্য হওয়া উচিত সূচি নয়
বাক্য গঠন
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
পরামিতি
start: প্রয়োজনীয়। প্রাথমিক সূচক। startনেতিবাচক এটা হিসাবে গণ্য করা হয় "Math.max((array.length + start), 0)"শেষ প্রান্ত থেকে প্রতি বৈশিষ্ট (নীচে দেওয়া উদাহরণ) হিসেবে কার্যকরভাবে array।deleteCount: .চ্ছিক। সরানোর উপাদানগুলির সংখ্যা ( startসরবরাহ না করা থেকে সমস্ত ) allitem1, item2, ...: .চ্ছিক। startসূচি থেকে অ্যারেতে যোগ করার জন্য উপাদানগুলি ।রিটার্নস : মুছে ফেলা উপাদানগুলির সাথে একটি অ্যারে (কোনওটি সরানো না থাকলে খালি অ্যারে)
মূল অ্যারেটিকে মিউটেট করুন : হ্যাঁ
const array = [1,2,3,4,5];
// Remove first element
console.log('Elements deleted:', array.splice(0, 1), 'mutated array:', array);
// Elements deleted: [ 1 ] mutated array: [ 2, 3, 4, 5 ]
// array = [ 2, 3, 4, 5]
// Remove last element (start -> array.length+start = 3)
console.log('Elements deleted:', array.splice(-1, 1), 'mutated array:', array);
// Elements deleted: [ 5 ] mutated array: [ 2, 3, 4 ]
এমডিএন স্প্লাইস উদাহরণগুলিতে আরও উদাহরণ
সিনট্যাক্স
array.slice([begin[, end]])
পরামিতি
begin: .চ্ছিক। প্রাথমিক সূচক (ডিফল্ট 0)। beginনেতিবাচক এটা হিসাবে গণ্য করা হয় "Math.max((array.length + begin), 0)"শেষ প্রান্ত থেকে প্রতি বৈশিষ্ট (নীচে দেওয়া উদাহরণ) হিসেবে কার্যকরভাবে array।end: .চ্ছিক। নিষ্কাশন জন্য সর্বশেষ সূচক কিন্তু অন্তর্ভুক্ত নয় (ডিফল্ট অ্যারে। দৈর্ঘ্য)। যদি endনেতিবাচক এটা হিসাবে গণ্য করা হয় "Math.max((array.length + begin),0)"শেষ প্রান্ত থেকে প্রতি বৈশিষ্ট (নীচে দেওয়া উদাহরণ) হিসেবে কার্যকরভাবে array।রিটার্নস : নিষ্কাশিত উপাদানযুক্ত একটি অ্যারে।
মিউটেট অরিজিনাল : না
const array = [1,2,3,4,5];
// Extract first element
console.log('Elements extracted:', array.slice(0, 1), 'array:', array);
// Elements extracted: [ 1 ] array: [ 1, 2, 3, 4, 5 ]
// Extract last element (start -> array.length+start = 4)
console.log('Elements extracted:', array.slice(-1), 'array:', array);
// Elements extracted: [ 5 ] array: [ 1, 2, 3, 4, 5 ]
এমডিএন স্লাইসের উদাহরণগুলিতে আরও উদাহরণ
প্রতিটি দৃশ্যের উপর নির্ভর করে একে অন্যের চেয়ে পারফরম্যান্স হিসাবে নিখুঁত সত্য হিসাবে নেবেন না।
কর্মক্ষমতা পরীক্ষা
স্প্লাইস এবং স্লাইস অন্তর্নির্মিত জাভাস্ক্রিপ্ট কমান্ডগুলি - বিশেষত AngularJS কমান্ড নয়। স্লাইস "স্টার্ট" থেকে অ্যারে উপাদানগুলি "শেষ" নির্দিষ্টকরণকারীর ঠিক আগে পর্যন্ত প্রদান করে returns স্প্লাইস প্রকৃত অ্যারেটিকে রূপান্তরিত করে এবং "শুরু" থেকে শুরু করে নির্দিষ্ট উপাদানগুলির সংখ্যা রাখে। গুগলের এ সম্পর্কে প্রচুর তথ্য রয়েছে, কেবল অনুসন্ধান করুন।
splice()পদ্ধতি একটি অ্যারের মধ্যে সরানো আইটেম ফেরৎ। slice()একটি অ্যারের মধ্যে পদ্ধতি আয় নির্বাচিত উপাদান (গুলি), একটি নতুন অ্যারে অবজেক্ট হিসেবে।
splice()পদ্ধতি মূল অ্যারের পরিবর্তন এবং slice()পদ্ধতি মূল অ্যারের পরিবর্তন করে না।
Splice() পদ্ধতিটি এন আর্গুমেন্টের সংখ্যা নিতে পারে:
তর্ক 1: সূচক, প্রয়োজনীয়।
তর্ক 2: .চ্ছিক। সরানো আইটেমের সংখ্যা। যদি 0 (শূন্য) এ সেট করা থাকে তবে কোনও আইটেম সরানো হবে না। এবং যদি পাস না করা হয় তবে প্রদত্ত সূচক থেকে সমস্ত আইটেম সরানো হবে।
তর্ক 3..n: .চ্ছিক । অ্যারেতে যুক্ত হওয়া নতুন আইটেম (গুলি)।
slice() পদ্ধতিটি 2 টি যুক্তি নিতে পারে:
তর্ক 1: প্রয়োজনীয়। একটি পূর্ণসংখ্যা যা নির্বাচনটি কোথায় শুরু করতে হবে তা উল্লেখ করে (প্রথম উপাদানটির একটি সূচক 0 থাকে)। অ্যারের প্রান্ত থেকে নির্বাচন করতে নেতিবাচক সংখ্যাগুলি ব্যবহার করুন।
তর্ক 2: .চ্ছিক। একটি পূর্ণসংখ্যা যা নির্বাচনটি কোথায় শেষ করতে হবে তা নির্দিষ্ট করে। বাদ দেওয়া থাকলে শুরু অবস্থান থেকে অ্যারের শেষ পর্যন্ত সমস্ত উপাদান নির্বাচন করা হবে। অ্যারের প্রান্ত থেকে নির্বাচন করতে নেতিবাচক সংখ্যাগুলি ব্যবহার করুন।
সূচক = 2
//splice & will modify the origin array
const arr1 = [1,2,3,4,5];
//slice & won't modify the origin array
const arr2 = [1,2,3,4,5]
console.log("----before-----");
console.log(arr1.splice(2, 1));
console.log(arr2.slice(2, 1));
console.log("----after-----");
console.log(arr1);
console.log(arr2);
let log = console.log;
//splice & will modify the origin array
const arr1 = [1,2,3,4,5];
//slice & won't modify the origin array
const arr2 = [1,2,3,4,5]
log("----before-----");
log(arr1.splice(2, 1));
log(arr2.slice(2, 1));
log("----after-----");
log(arr1);
log(arr2);
আরেকটি উদাহরণ:
[2,4,8].splice(1, 2) -> returns [4, 8], original array is [2]
[2,4,8].slice(1, 2) -> returns 4, original array is [2,4,8]
স্লাইস মূল অ্যারে পরিবর্তন করে না এটি নতুন অ্যারে ফেরত দেয় তবে স্প্লাইস মূল অ্যারে পরিবর্তন করে।
example: var arr = [1,2,3,4,5,6,7,8];
arr.slice(1,3); // output [2,3] and original array remain same.
arr.splice(1,3); // output [2,3,4] and original array changed to [1,5,6,7,8].
বিভাজন পদ্ধতি দ্বিতীয় যুক্তি স্লাইস পদ্ধতি থেকে পৃথক। বিভাজনে দ্বিতীয় যুক্তি অপসারণের জন্য উপাদানগুলির গণনা উপস্থাপন করে এবং স্লাইসে এটি শেষ সূচকে উপস্থাপন করে।
arr.splice(-3,-1); // output [] second argument value should be greater then
0.
arr.splice(-3,-1); // output [6,7] index in minus represent start from last.
-1 শেষ উপাদানটির প্রতিনিধিত্ব করে তাই এটি -3 থেকে -1 অবধি শুরু হয়। উপরের দিকে স্প্লাইস এবং স্লাইস পদ্ধতির মধ্যে প্রধান পার্থক্য রয়েছে।
//splice
var array=[1,2,3,4,5];
console.log(array.splice(2));
//slice
var array2=[1,2,3,4,5]
console.log(array2.slice(2));
console.log("----after-----");
console.log(array);
console.log(array2);
স্লাইস () এবং স্প্লাইস () জাভাস্ক্রিপ্ট বিল্ট-ইন ফাংশনগুলির মধ্যে পার্থক্যটি হ'ল স্লাইস সরানো আইটেমটি ফেরত দেয় তবে মূল অ্যারে পরিবর্তন করে না; মত,
// (original Array)
let array=[1,2,3,4,5]
let index= array.indexOf(4)
// index=3
let result=array.slice(index)
// result=4
// after slicing=> array =[1,2,3,4,5] (same as original array)
তবে স্প্লাইস () ক্ষেত্রে এটি আসল অ্যারেগুলিকে প্রভাবিত করে; মত,
// (original Array)
let array=[1,2,3,4,5]
let index= array.indexOf(4)
// index=3
let result=array.splice(index)
// result=4
// after splicing array =[1,2,3,5] (splicing affects original array)
জাভাস্ক্রিপ্ট অ্যারে স্প্লাইস () উদাহরণ দ্বারা পদ্ধতি
টুটসমেক দ্বারা উদাহরণ 1-সূচক 1 থেকে 2 উপাদান সরান
var arr = [ "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" ];
arr.splice(1,2);
console.log( arr );
টুটসমেক দ্বারা উদাহরণ -২ - সূচক 0 জাভাস্ক্রিপ্ট থেকে নতুন উপাদান যুক্ত করুন
var arr = [ "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" ];
arr.splice(0,0,"zero");
console.log( arr );
টুটসমেক দ্বারা উদাহরণ -৩ - অ্যারে জাভাস্ক্রিপ্টে উপাদানগুলি যুক্ত করুন এবং সরান
var months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb'); // add at index 1
console.log(months);
months.splice(4, 1, 'May'); // replaces 1 element at index 4
console.log(months);
https://www.tutsmake.com/javascript-array-splice-method-by-example/