বর্তমানে আমি Angular 2.0 ব্যবহার করছি। আমার নিম্নরূপে একটি অ্যারে রয়েছে:
var channelArray: Array<string> = ['one', 'two', 'three'];
চ্যানেলআরাইতে একটি তিনটি স্ট্রিং রয়েছে কিনা তা আমি কীভাবে টাইপস্ক্রিপ্টে চেক করতে পারি?
বর্তমানে আমি Angular 2.0 ব্যবহার করছি। আমার নিম্নরূপে একটি অ্যারে রয়েছে:
var channelArray: Array<string> = ['one', 'two', 'three'];
চ্যানেলআরাইতে একটি তিনটি স্ট্রিং রয়েছে কিনা তা আমি কীভাবে টাইপস্ক্রিপ্টে চেক করতে পারি?
উত্তর:
জাভা স্ক্রিপ্টের মতোই , অ্যারে.প্রোটোটাইপ.ইন্ডেক্সঅফ () ব্যবহার করে :
console.log(channelArray.indexOf('three') > -1);
বা ECMAScript 2016 ব্যবহার করে অ্যারে.প্রোটোটাইপ.যুক্ত () :
console.log(channelArray.includes('three'));
দ্রষ্টব্য যে আপনি স্ট্রিং সন্ধান করতে @ নিতজান দ্বারা দেখানো মত পদ্ধতিগুলিও ব্যবহার করতে পারেন। তবে আপনি সাধারণত স্ট্রিং অ্যারের জন্য এটি করেন না, বরং অবজেক্টগুলির একটি অ্যারের জন্য করেন। সেখানে এই পদ্ধতিগুলি আরও বুদ্ধিমান ছিল। উদাহরণ স্বরূপ
const arr = [{foo: 'bar'}, {foo: 'bar'}, {foo: 'baz'}];
console.log(arr.find(e => e.foo === 'bar')); // {foo: 'bar'} (first match)
console.log(arr.some(e => e.foo === 'bar')); // true
console.log(arr.filter(e => e.foo === 'bar')); // [{foo: 'bar'}, {foo: 'bar'}]
উল্লেখ
[ts] Property 'includes' does not exist on type 'string[]'
ত্রুটি পেয়েছি, এই ইকমা 6 বৈশিষ্ট্যটি সমর্থন করার জন্য আমার কি আমার এসএসসিফিগ আপডেট করতে হবে?
"lib": ["es7", "dom"]
আপনি কিছু পদ্ধতি ব্যবহার করতে পারেন :
console.log(channelArray.some(x => x === "three")); // true
আপনি সন্ধানের পদ্ধতিটি ব্যবহার করতে পারেন :
console.log(channelArray.find(x => x === "three")); // three
অথবা আপনি সূচিপত্র পদ্ধতিটি ব্যবহার করতে পারেন :
console.log(channelArray.indexOf("three")); // 2
যদি আপনার কোডটি ES7 ভিত্তিক হয়:
channelArray.includes('three'); //will return true or false
যদি তা না হয়, উদাহরণস্বরূপ আপনি কোনও বাবেল ট্রান্সপাইল ছাড়া আইই ব্যবহার করছেন:
channelArray.indexOf('three') !== -1; //will return true or false
indexOf
পদ্ধতি অ্যারের মধ্যে অবস্থান উপাদান আছে ফিরে আসবে, কারণ যে আমরা ব্যবহার !==
-1 থেকে যদি সুই প্রথম স্থান পাওয়া যায় আলাদা।
এছাড়াও মনে রাখবেন যে "ইন" কীওয়ার্ড অ্যারেগুলিতে কাজ করে না। এটি কেবল বস্তুগুলিতে কাজ করে।
propName in myObject
অ্যারে অন্তর্ভুক্তি পরীক্ষা হয়
myArray.includes('three');
জাভাস্ক্রিপ্ট অ্যারে ব্যবহার করুন () পদ্ধতি অন্তর্ভুক্ত
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var n = fruits.includes("Mango");
নিজে চেষ্টা করুন » লিংক
সংজ্ঞা
অন্তর্ভুক্ত () পদ্ধতি নির্ধারণ করে একটি অ্যারের একটি নির্দিষ্ট উপাদান রয়েছে কি না।
এই পদ্ধতিতে অ্যারেতে উপাদান থাকে এবং সত্য না হলে মিথ্যা হয়।
টিএস এর অ্যারেগুলির জন্য অনেকগুলি ইউটিলিটি পদ্ধতি রয়েছে যা অ্যারের প্রোটোটাইপের মাধ্যমে উপলব্ধ। একাধিক রয়েছে যা এই লক্ষ্য অর্জন করতে পারে তবে এই উদ্দেশ্যে সবচেয়ে সুবিধাজনক দুটি হ'ল:
Array.indexOf()
আর্গুমেন্ট হিসাবে কোনও মান নেয় এবং তারপরে প্রথম সূচকটি প্রদান করে যেখানে কোনও প্রদত্ত উপাদান অ্যারেতে পাওয়া যায়, বা -1 উপস্থিত না থাকলে।Array.includes()
আর্গুমেন্ট হিসাবে কোনও মান নেয় এবং তারপরে নির্ধারণ করে যে কোনও অ্যারেতে এই মানটি অন্তর্ভুক্ত রয়েছে কিনা। true
মানটি অন্যথায় পাওয়া গেলে ফিরে আসার পদ্ধতি false
।উদাহরণ:
var channelArray: string[] = ['one', 'two', 'three'];
console.log(channelArray.indexOf('three')); // 2
console.log(channelArray.indexOf('three') > -1); // true
console.log(channelArray.indexOf('four') > -1); // false
console.log(channelArray.includes('three')); // ture
আপনি ব্যবহার করতে পারেন filter
খুব
this.products = array_products.filter((x) => x.Name.includes("ABC"))
এটি করুন:
departments: string[]=[];
if(this.departments.indexOf(this.departmentName.trim()) >-1 ){
return;
}
channelArray: string[]