Home  >  Q&A  >  body text

I can't understand why IndexOf returned -1

I have an array of numbers containing 1-20. When I use the indexOf method to try to find the position of "2", it shows up at the 3rd position (correct).

I have a variable called day = 2. When I use the code of array.indexOf(day), it returns -1.

Why does this happen?

P粉031492081P粉031492081401 days ago561

reply all(1)I'll reply

  • P粉517090748

    P粉5170907482023-09-15 16:50:31

    function indexofnotworking() {
      let arr = [...new Array(20).keys()];//creat arr of numbers from 0  -19
      let arr1 = arr.slice().reverse();//make a copy and reverse it
      [...Array.from(new Array(5).keys(), x => x + 5)].forEach(n => {
        console.log('arr: %s n: %s index: %s', JSON.stringify(arr), n, arr.indexOf(n));//find the indexof n in both arrays
        console.log('arr1: %s n: %s index: %s', JSON.stringify(arr1), n, arr1.indexOf(n));/display results
      })
    }
    
    11:40:22 AM Info    arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 5 index: 5
    11:40:22 AM Info    arr1: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] n: 5 index: 14
    11:40:22 AM Info    arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 6 index: 6
    11:40:22 AM Info    arr1: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] n: 6 index: 13
    11:40:22 AM Info    arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 7 index: 7
    11:40:22 AM Info    arr1: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] n: 7 index: 12
    11:40:22 AM Info    arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 8 index: 8
    11:40:22 AM Info    arr1: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] n: 8 index: 11
    11:40:22 AM Info    arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 9 index: 9
    11:40:22 AM Info    arr1: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] n: 9 index: 10

    reply
    0
  • Cancelreply