Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

Jasmine.js एरे तुलना

एरे की तुलना दो तरीकों से की जा सकती है:

  • वे मेमोरी में एक ही एरे ऑब्जेक्ट को रेफर करते हैं।
  • वे अलग ऑब्जेक्ट्स हो सकते हैं लेकिन उनकी सामग्री समान हो सकती है।

केस 1 के लिए, Jasmine toBe मेथड प्रदान करता है। यह रेफरेंस चेक करता है।

उदाहरण

describe("Array Equality", () => {
  it("should check for array reference equality", () => {
    let arr = [1, 2, 3];
    let arr2 = arr;
    
    // सफल - एक ही रेफरेंस
    expect(arr).toBe(arr2);
    
    // विफल - रेफरेंस समान नहीं हैं
    expect(arr).toBe([1, 2, 3]);
  });
});

आउटपुट

Array Equality should check for array equality
Message: Expected [ 1, 2, 3 ] to be [ 1, 2, 3 ].
Tip: To check for deep equality, use .toEqual() instead of .toBe().

केस 2 के लिए हम toEqual मेथड का उपयोग करके एरे की डीप तुलना कर सकते हैं।

उदाहरण

describe("Array Equality", () => {
  it("should check for deep equality", () => {
    let arr = [1, 2, 3];
    let arr2 = arr;
    
    // सफल - एक ही रेफरेंस
    expect(arr).toEqual(arr2);
    
    // सफल - अलग रेफरेंस लेकिन समान सामग्री
    expect(arr).toEqual([1, 2, 3]);
  });
});

आउटपुट

1 spec, 0 failures

नेस्टेड एरे/ऑब्जेक्ट्स

const arr1 = [1, [2, 3], { a: 4 }];
const arr2 = [1, [2, 3], { a: 4 }];

expect(arr1).toEqual(arr2); // पास - डीप इक्वलिटी
expect(arr1).toBe(arr2);    // फेल - अलग रेफरेंस

सारांश: toBe === रेफरेंस चेक के लिए, toEqual डीप वैल्यू तुलना के लिए।

  1. JavaScript JSON Arrays JavaScript JSON Arrays

    JSON में Arrays, JavaScript में Arrays के समान होते हैं। JavaScript JSON arrays इस तरह दिखते हैं: let obj = {    name:'Rohan',    sports : ['cricket','Football','volleyball','hockey'] } JavaScript में JSON arrays के लिए कोड: उदाहरण <!DOC

  1. जावास्क्रिप्ट में एरे बनाम सेट जावास्क्रिप्ट में एरे बनाम सेट

    Set डेटा टाइप को ES2015 में पेश किया गया था और एरे और सेट के बीच अंतर यह है कि जहां एरे में डुप्लिकेट वैल्यूज हो सकती हैं, वहीं सेट में नहीं हो सकतीं। एरे में एलिमेंट्स को इंडेक्स का उपयोग करके एक्सेस किया जा सकता है जो सेट में संभव नहीं है क्योंकि यह कीज़ का उपयोग करता है और एलिमेंट्स को केवल उसी

  1. जावास्क्रिप्ट में एरे को रिड्यूस कैसे करें? जावास्क्रिप्ट में एरे को रिड्यूस कैसे करें?

    जावास्क्रिप्ट में एरे को रिड्यूस करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    body