বলুন আমি এই পেয়েছি
imageList = [100,200,300,400,500];
যা আমাকে দেয়
[0]100 [1]200 প্রভৃতি
মান সহ সূচকটি ফেরত দেওয়ার জন্য কি জাভাস্ক্রিপ্টের কোনও উপায় আছে?
অর্থাৎ আমি 200 এর জন্য সূচক চাই , আমি 1 ফেরত পাই ।
বলুন আমি এই পেয়েছি
imageList = [100,200,300,400,500];
যা আমাকে দেয়
[0]100 [1]200 প্রভৃতি
মান সহ সূচকটি ফেরত দেওয়ার জন্য কি জাভাস্ক্রিপ্টের কোনও উপায় আছে?
অর্থাৎ আমি 200 এর জন্য সূচক চাই , আমি 1 ফেরত পাই ।
উত্তর:
আপনি ব্যবহার করতে পারেন indexOf:
var imageList = [100,200,300,400,500];
var index = imageList.indexOf(200); // 1
এটি অ্যারেতে কোনও মান না পেলে আপনি -1 পাবেন।
জন্য অ্যারের বস্তু ব্যবহারের mapসঙ্গে indexOf:
var imageList = [
{value: 100},
{value: 200},
{value: 300},
{value: 400},
{value: 500}
];
var index = imageList.map(function (img) { return img.value; }).indexOf(200);
console.log(index);
আধুনিক ব্রাউজারগুলিতে আপনি এটি ব্যবহার করতে পারেন findIndex:
var imageList = [
{value: 100},
{value: 200},
{value: 300},
{value: 400},
{value: 500}
];
var index = imageList.findIndex(img => img.value === 200);
console.log(index);
এর ES6 এর অংশ এবং ক্রোম, এফএফ, সাফারি এবং এজ দ্বারা সমর্থিত
JQuery এর ফাংশন jQuery.inArray ব্যবহার করুন
jQuery.inArray( value, array [, fromIndex ] )
(or) $.inArray( value, array [, fromIndex ] )
জাভাস্ক্রিপ্টে জটিল অ্যারেতে মান সূচক খুঁজে পাওয়ার আরও একটি উপায় এখানে। আশা করি আসলেই কাউকে সাহায্য করবেন। ধরে নেওয়া যাক আমাদের নীচে জাভাস্ক্রিপ্ট অ্যারে রয়েছে,
var studentsArray =
[
{
"rollnumber": 1,
"name": "dj",
"subject": "physics"
},
{
"rollnumber": 2,
"name": "tanmay",
"subject": "biology"
},
{
"rollnumber": 3,
"name": "amit",
"subject": "chemistry"
},
];
এখন যদি আমাদের প্রয়োজন হয় অ্যারেতে একটি নির্দিষ্ট বস্তু নির্বাচন করার জন্য। আসুন আমরা ধরে নিই যে আমরা তন্ময় নামের ছাত্রটির সূচকটি খুঁজতে চাই।
অ্যারে দিয়ে পুনরাবৃত্তি এবং প্রদত্ত কীতে মানটির তুলনা করে আমরা এটি করতে পারি।
function functiontofindIndexByKeyValue(arraytosearch, key, valuetosearch) {
for (var i = 0; i < arraytosearch.length; i++) {
if (arraytosearch[i][key] == valuetosearch) {
return i;
}
}
return null;
}
আপনি নীচের মতো নির্দিষ্ট উপাদানের সূচক খুঁজতে ফাংশনটি ব্যবহার করতে পারেন,
var index = functiontofindIndexByKeyValue(studentsArray, "name", "tanmay");
alert(index);
Array.indexOfইন্টারনেট এক্সপ্লোরারের কয়েকটি সংস্করণে কাজ করে না - যদিও এটি করার অনেকগুলি বিকল্প উপায় রয়েছে ... এই প্রশ্নটি / উত্তর দেখুন: জাভাস্ক্রিপ্টে কোনও অ্যারে কোনও বিষয় অন্তর্ভুক্ত করেছে কিনা তা আমি কীভাবে পরীক্ষা করব?
কোনও ES6ফাংশন ব্যবহার করা সম্ভব Array.prototype.findIndex।
findIndex()পদ্ধতির সূচক ফেরৎ অ্যারের মধ্যে প্রথম উপাদান মাফিক টেস্টিং ফাংশন প্রদান করা হয়েছে। অন্যথায় -1 ফেরত দেওয়া হয়।
var fooArray = [5, 10, 15, 20, 25];
console.log(fooArray.findIndex(num=> { return num > 5; }));
// expected output: 1
বস্তুর সম্পত্তি অনুসারে একটি সূচক সন্ধান করুন।
অবজেক্ট প্রোপার্টি অনুসারে একটি সূচক খুঁজতে:
yourArray.findIndex(obj => obj['propertyName'] === yourValue)
উদাহরণস্বরূপ, এই জাতীয় একটি অ্যারে রয়েছে:
let someArray = [
{ property: 'OutDate' },
{ property: 'BeginDate'},
{ property: 'CarNumber' },
{ property: 'FirstName'}
];
তারপরে প্রয়োজনীয় সংস্থার একটি সূচক খুঁজতে কোডটি দেখতে দেখতে এমন দেখাচ্ছে:
let carIndex = someArray.findIndex( filterCarObj=>
filterCarObj['property'] === 'CarNumber');
এটি এখানে আমার গ্রহণ করা, দেখে মনে হচ্ছে বেশিরভাগ লোকের সমাধানগুলি আইটেমটি বিদ্যমান কিনা তা পরীক্ষা করে না এবং এটি উপস্থিত না থাকলে এটি এলোমেলো মানগুলি সরিয়ে দেয়।
প্রথমে উপাদানটি সূচকটি অনুসন্ধান করে এটি উপস্থিত কিনা তা পরীক্ষা করুন । যদি এটি বিদ্যমান থাকে তবে স্প্লাইস পদ্ধতিটি ব্যবহার করে এটি সূচকে সরিয়ে ফেলুন
elementPosition = array.indexOf(value);
if(elementPosition != -1) {
array.splice(elementPosition, 1);
}
রেফারেন্স অ্যারে:
var array = [
{ ID: '100', },
{ ID: '200', },
{ ID: '300', },
{ ID: '400', },
{ ID: '500', }
];
ব্যবহার filterএবং indexOf:
var in_array = array.filter(function(item) {
return item.ID == '200' // look for the item where ID is equal to value
});
var index = array.indexOf(in_array[0]);
অ্যারেতে প্রতিটি আইটেমটি ব্যবহার করে লুপিং indexOf:
for (var i = 0; i < array.length; i++) {
var item= array[i];
if (item.ID == '200') {
var index = array.indexOf(item);
}
}
// Instead Of
var index = arr.indexOf(200)
// Use
var index = arr.includes(200);
দয়া করে নোট করুন : অন্তর্ভুক্ত ফাংশনটি অ্যারেতে একটি সাধারণ উদাহরণ পদ্ধতি এবং কোনও আইটেমির অ্যারেতে রয়েছে কিনা তা সহজেই খুঁজে পেতে সহায়তা করে (ইনডেক্সের বিপরীতে এনএএন সহ)