JavaScript Arrays

JavaScript வரிசைகள் பற்றி அறிக

JavaScript Arrays

எடுத்துக்காட்டு

const cars = ["Saab", "Volvo", "BMW"];

ஒரு Array என்பது தரவு தொகுப்புகளைச் சேமிக்க வடிவமைக்கப்பட்ட ஒரு பொருள் வகையாகும்.

JavaScript வரிசைகளின் முக்கிய பண்புகள்:

Why Use Arrays?

உங்களிடம் உருப்படிகளின் பட்டியல் இருந்தால் (எடுத்துக்காட்டாக, கார் பெயர்களின் பட்டியல்), பெயர்களை ஒற்றை மாறிகளில் சேமிப்பது இப்படி இருக்கலாம்:

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";

இருப்பினும், நீங்கள் கார்கள் வழியாக வளையமிட்டு ஒரு குறிப்பிட்ட ஒன்றைக் கண்டுபிடிக்க விரும்பினால் என்ன செய்வது? மேலும் உங்களிடம் 3 கார்கள் இல்லாமல் 300 இருந்தால் என்ன செய்வது?

தீர்வு ஒரு வரிசை!

ஒரு வரிசை பல மதிப்புகளை ஒரு பெயரின் கீழ் வைத்திருக்க முடியும், மேலும் நீங்கள் ஒரு குறியீடு எண்ணைக் குறிப்பிடுவதன் மூலம் மதிப்புகளை அணுகலாம்.

Creating an Array

ஒரு வரிசை நேரடியைப் பயன்படுத்துவது JavaScript வரிசையை உருவாக்க எளிதான வழியாகும்.

தொடரியல்:

const array_name = [item1, item2, ...];

📝 குறிப்பு:

வரிசைகளை const வார்த்தையுடன் அறிவிப்பது பொதுவான நடைமுறையாகும்.

JS Array Const அத்தியாயத்தில் வரிசைகளுடன் const பற்றி மேலும் அறிக.

எடுத்துக்காட்டு

const cars = ["Saab", "Volvo", "BMW"];

இடைவெளிகள் மற்றும் வரி இடைவெளிகள் முக்கியமானவை அல்ல. ஒரு அறிவிப்பு பல வரிகளைக் கொண்டிருக்கலாம்:

எடுத்துக்காட்டு

const cars = [
  "Saab",
  "Volvo",
  "BMW"
];

நீங்கள் ஒரு காலி வரிசையையும் உருவாக்கலாம், மேலும் பிறகு உறுப்புகளை வழங்கலாம்:

எடுத்துக்காட்டு

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

Using the JavaScript Keyword new

பின்வரும் எடுத்துக்காட்டும் ஒரு வரிசையை உருவாக்குகிறது, மேலும் அதற்கு மதிப்புகளை ஒதுக்குகிறது:

எடுத்துக்காட்டு

const cars = new Array("Saab", "Volvo", "BMW");

💡 குறிப்பு:

மேலே உள்ள இரண்டு எடுத்துக்காட்டுகளும் சரியாக ஒரே மாதிரியாக செயல்படுகின்றன.

new Array() பயன்படுத்த வேண்டிய அவசியமில்லை.

எளிமை, வாசிப்புத்தன்மை மற்றும் செயல்படுத்தும் வேகத்திற்காக, வரிசை நேரடி முறையைப் பயன்படுத்தவும்.

Accessing Array Elements

குறியீடு எண்ணைக் குறிப்பிடுவதன் மூலம் நீங்கள் ஒரு வரிசை உறுப்பை அணுகலாம்:

const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];

📝 குறிப்பு:

வரிசை குறியீடுகள் 0 உடன் தொடங்குகின்றன.

[0] என்பது முதல் உறுப்பு. [1] என்பது இரண்டாவது உறுப்பு.

Changing an Array Element

இந்த அறிக்கை cars இல் முதல் உறுப்பின் மதிப்பை மாற்றுகிறது:

cars[0] = "Opel";

எடுத்துக்காட்டு

const cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";

Converting an Array to a String

JavaScript முறை toString() ஒரு வரிசையை (காற்புள்ளியால் பிரிக்கப்பட்ட) வரிசை மதிப்புகளின் சரமாக மாற்றுகிறது.

எடுத்துக்காட்டு

const fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

முடிவு:

Banana,Orange,Apple,Mango

Access the Full Array

JavaScript உடன், முழு வரிசையும் வரிசை பெயரைக் குறிப்பிடுவதன் மூலம் அணுக முடியும்:

எடுத்துக்காட்டு

const cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;

Arrays are Objects

வரிசைகள் ஒரு சிறப்பு வகை பொருள்கள். JavaScript இல் typeof செயலி வரிசைகளுக்கு "object" ஐ வழங்குகிறது.

ஆனால், JavaScript வரிசைகள் வரிசைகள் என்று சிறப்பாக விவரிக்கப்படுகின்றன.

வரிசைகள் அதன் "உறுப்புகளை" அணுக எண்களைப் பயன்படுத்துகின்றன. இந்த எடுத்துக்காட்டில், person[0] John ஐ வழங்குகிறது:

வரிசை:

const person = ["John", "Doe", 46];

பொருள்கள் அதன் "உறுப்பினர்களை" அணுக பெயர்களைப் பயன்படுத்துகின்றன. இந்த எடுத்துக்காட்டில், person.firstName John ஐ வழங்குகிறது:

Object:

const person = {firstName:"John", lastName:"Doe", age:46};

Array Elements Can Be Objects

JavaScript மாறிகள் பொருள்களாக இருக்கலாம். வரிசைகள் சிறப்பு வகையான பொருள்கள்.

இதன் காரணமாக, நீங்கள் ஒரே வரிசையில் வெவ்வேறு வகைகளின் மாறிகளைக் கொண்டிருக்கலாம்.

ஒரு வரிசையில் பொருள்களைக் கொண்டிருக்கலாம். ஒரு வரிசையில் செயல்பாடுகளைக் கொண்டிருக்கலாம். ஒரு வரிசையில் வரிசைகளைக் கொண்டிருக்கலாம்:

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

Array Properties and Methods

JavaScript வரிசைகளின் உண்மையான வலிமை உள்ளமைக்கப்பட்ட வரிசை பண்புகள் மற்றும் முறைகள்:

cars.length   // Returns the number of elements
cars.sort()   // Sorts the array

வரிசை முறைகள் அடுத்த அத்தியாயங்களில் உள்ளடக்கப்பட்டுள்ளன.

The length Property

ஒரு வரிசையின் length பண்பு ஒரு வரிசையின் நீளத்தை (வரிசை உறுப்புகளின் எண்ணிக்கை) வழங்குகிறது.

எடுத்துக்காட்டு

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let length = fruits.length;

length பண்பு எப்போதும் அதிக வரிசை குறியீட்டை விட ஒன்று அதிகமாக இருக்கும்.

Accessing the First Array Element

எடுத்துக்காட்டு

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[0];

Accessing the Last Array Element

எடுத்துக்காட்டு

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];

Looping Array Elements

ஒரு வரிசை வழியாக வளையமிடும் ஒரு வழி, for loop பயன்படுத்துவது:

எடுத்துக்காட்டு

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;

let text = "
    "; for (let i = 0; i < fLen; i++) { text += "
  • " + fruits[i] + "
  • "; } text += "
";

நீங்கள் Array.forEach() செயல்பாட்டையும் பயன்படுத்தலாம்:

எடுத்துக்காட்டு

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let text = "
    "; fruits.forEach(myFunction); text += "
"; function myFunction(value) { text += "
  • " + value + "
  • "; }

    Adding Array Elements

    ஒரு வரிசையில் புதிய உறுப்பைச் சேர்க்க எளிதான வழி push() முறையைப் பயன்படுத்துவது:

    எடுத்துக்காட்டு

    const fruits = ["Banana", "Orange", "Apple"];
    fruits.push("Lemon");  // Adds a new element (Lemon) to fruits

    புதிய உறுப்பு length பண்பைப் பயன்படுத்தி ஒரு வரிசையில் சேர்க்கப்படலாம்:

    எடுத்துக்காட்டு

    const fruits = ["Banana", "Orange", "Apple"];
    fruits[fruits.length] = "Lemon";  // Adds "Lemon" to fruits

    ⚠️ எச்சரிக்கை!

    அதிக குறியீடுகளுடன் உறுப்புகளைச் சேர்ப்பது வரிசையில் வரையறுக்கப்படாத "துளைகளை" உருவாக்கலாம்:

    const fruits = ["Banana", "Orange", "Apple"];
    fruits[6] = "Lemon";  // Creates undefined "holes" in fruits

    Associative Arrays

    பல நிரலாக்க மொழிகள் பெயரிடப்பட்ட குறியீடுகளுடன் வரிசைகளை ஆதரிக்கின்றன.

    பெயரிடப்பட்ட குறியீடுகளுடன் கூடிய வரிசைகள் associative arrays (அல்லது hashes) என்று அழைக்கப்படுகின்றன.

    JavaScript பெயரிடப்பட்ட குறியீடுகளுடன் வரிசைகளை ஆதரிக்காது.

    JavaScript இல், வரிசைகள் எப்போதும் எண்ணிடப்பட்ட குறியீடுகளைப் பயன்படுத்துகின்றன.

    எடுத்துக்காட்டு

    const person = [];
    person[0] = "John";
    person[1] = "Doe";
    person[2] = 46;
    person.length;    // Will return 3
    person[0];        // Will return "John"

    ⚠️ எச்சரிக்கை!!

    நீங்கள் பெயரிடப்பட்ட குறியீடுகளைப் பயன்படுத்தினால், JavaScript வரிசையை ஒரு பொருளாக மறுவரையறுக்கும்.

    அதன் பிறகு, சில வரிசை முறைகள் மற்றும் பண்புகள் தவறான முடிவுகளை உருவாக்கும்.

    const person = [];
    person["firstName"] = "John";
    person["lastName"] = "Doe";
    person["age"] = 46;
    person.length;     // Will return 0
    person[0];         // Will return undefined

    The Difference Between Arrays and Objects

    JavaScript இல், வரிசைகள் எண்ணிடப்பட்ட குறியீடுகளைப் பயன்படுத்துகின்றன.

    JavaScript இல், பொருள்கள் பெயரிடப்பட்ட குறியீடுகளைப் பயன்படுத்துகின்றன.

    வரிசைகள் எண்ணிடப்பட்ட குறியீடுகளுடன் கூடிய ஒரு சிறப்பு வகை பொருள்கள்.

    When to Use Arrays. When to use Objects.

    JavaScript new Array()

    JavaScript ஒரு உள்ளமைக்கப்பட்ட வரிசை constructor new Array() கொண்டுள்ளது.

    ஆனால் நீங்கள் பதிலாக [] பாதுகாப்பாகப் பயன்படுத்தலாம்.

    இந்த இரண்டு வெவ்வேறு அறிக்கைகளும் புள்ளிகள் என்ற புதிய காலி வரிசையை உருவாக்குகின்றன:

    const points = new Array();
    const points = [];

    இந்த இரண்டு வெவ்வேறு அறிக்கைகளும் 6 எண்களைக் கொண்ட புதிய வரிசையை உருவாக்குகின்றன:

    const points = new Array(40, 100, 1, 5, 25, 10);
    const points = [40, 100, 1, 5, 25, 10];

    new வார்த்தை சில எதிர்பாராத முடிவுகளை உருவாக்கலாம்:

    // Create an array with three elements:
    const points = new Array(40, 100, 1);
    // Create an array with two elements:
    const points = new Array(40, 100);
    // Create an array with one element ???
    const points = new Array(40);

    A Common Error

    const points = [40];

    இதற்கு சமமாக இல்லை:

    const points = new Array(40);
    // Create an array with one element:
    const points = [40];
    // Create an array with 40 undefined elements:
    const points = new Array(40);

    How to Recognize an Array

    ஒரு பொதுவான கேள்வி: ஒரு மாறி ஒரு வரிசையா என்பதை நான் எப்படி அறிவது?

    சிக்கல் என்னவென்றால் JavaScript செயலி typeof "object" ஐ வழங்குகிறது:

    const fruits = ["Banana", "Orange", "Apple"];
    let type = typeof fruits;

    typeof செயலி object ஐ வழங்குகிறது ஏனெனில் ஒரு JavaScript வரிசை ஒரு பொருளாகும்.

    Solution 1:

    இந்த சிக்கலைத் தீர்க்க ECMAScript 5 (JavaScript 2009) ஒரு புதிய முறையை வரையறுத்தது Array.isArray():

    Array.isArray(fruits);

    Solution 2:

    instanceof செயலி ஒரு பொருள் கொடுக்கப்பட்ட constructor மூலம் உருவாக்கப்பட்டால் true ஐ வழங்குகிறது:

    const fruits = ["Banana", "Orange", "Apple"];
    
    (fruits instanceof Array);

    Nested Arrays and Objects

    பொருள்களில் உள்ள மதிப்புகள் வரிசைகளாக இருக்கலாம், மற்றும் வரிசைகளில் உள்ள மதிப்புகள் பொருள்களாக இருக்கலாம்:

    எடுத்துக்காட்டு

    const myObj = {
      name: "John",
      age: 30,
      cars: [
        {name:"Ford", models:["Fiesta", "Focus", "Mustang"]},
        {name:"BMW", models:["320", "X3", "X5"]},
        {name:"Fiat", models:["500", "Panda"]}
      ]
    }

    வரிசைகளுக்குள் வரிசைகளை அணுக, ஒவ்வொரு வரிசைக்கும் for-in loop பயன்படுத்தவும்:

    எடுத்துக்காட்டு

    for (let i in myObj.cars) {
      x += "

    " + myObj.cars[i].name + "

    "; for (let j in myObj.cars[i].models) { x += myObj.cars[i].models[j]; } }

    Learn More:

    Exercise

    ஒரு வரிசையை உருவாக்க சட்டப்பூர்வமான வழி எது அல்ல?

    எந்த வரிசை உருவாக்கும் முறை சட்டப்பூர்வமானது அல்ல?

    const fruits = ['Orange', 'Banana', 'Apple'];
    ✗ தவறு! இது வரிசை நேரடி முறை மற்றும் JavaScript இல் வரிசையை உருவாக்க சரியான வழியாகும்.
    const fruits = new Array ('Orange', 'Banana', 'Apple');
    ✗ தவறு! new Array() constructor சரியானது, ஆனால் வரிசை நேரடி முறையைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது.
    const fruits = ('Orange', 'Banana', 'Apple');
    ✓ சரி! இது சரியான வரிசை தொடரியல் அல்ல. வரிசைகள் சதுர அடைப்புக்குறிகளுடன் [] அல்லது new Array() constructor உடன் உருவாக்கப்பட வேண்டும்.