Search code examples
arrayscoldfusioncfmlcoldfusion-2018

Getting element from an array where data may not exist


I am trying loop over elements in an array

data = [];

data[3] = true;
data[4] = false;

for (i = 1; i <= data.len(); i++) {
    if(data[i])   {
        writeoutput("Kittens!")
    }
}

And I get an error

enter image description here

Not an option

My code is a simplification of larger process. The following is NOT an option

for (datum in data) {
    if(datum)   {
        writeoutput("Kittens!")
    }
}

Solution

  • You could always channel The King...

    <cfscript>
    data = [];
    
    data[3] = true;
    data[4] = false;
    
    
    
    for (i = 1; i <= data.len(); i++) {
    
        if( data[i]?:false )   {
            writeoutput("Kittens!");
        }
        else { writeoutput("nope"); }
    }
    
    
    </cfscript>
    

    https://trycf.com/gist/d8664be620520252871e91796bef2f61/acf2016?theme=monokai