Javascript Help

Ive got this javascript code which lists the records in a view . I want these records to be filtered by the ‘email’ field but i dont know how to include this. please have a look at the code below:

@Andreas_Iacovides,

I think you forgot to include your code, so I don’t know specifically what you are working with… I assume this is in the context of the Scripting Block, so I think I can just provide the general guidance that you can use JavaScript’s built in .filter() method to do this on your queried records. Assuming you’ve queried your records into a variable called records, it will look something like this:

 let filteredRecords = records.filter(record => record.getCellValue("email").includes("@gmail.com"))

In this example, your records would be filtered to return only records where the “email” field includes the sub-string “@gmail.com”, and the resulting array of records would be stored in the filteredRecords variable.

.filter() takes an arrow function which it runs on each record ((record => {function block}). The {function block} needs to be a piece of code that returns a boolean true/false as its result. The .includes(), which we run against the string returned by .getCellValue() will return true if it finds “@gmail” in the email address string, and false if it does not.

Hopefully that at least points you in the right direction.

3 Likes

Seriously!?! Dude - you should write the first Airtable scripting book. This is pure instructional elegance.

1 Like

Jeremy, this is my code… your helps is really appreciated. this code lists all records. please let me know how to filter this records by the email field:

My Pilot Book

  • {{ item['fields']['email'] }}

                    <p><strong>Registration No.1: </strong>${{ item['fields']['Registration No.1'] }}</p>
                    <p><strong>Registration No.2: </strong>${{ item['fields']['Registration No.2'] }}</p>
              
                </li>
            </ul>            
        </div><!--app-->
    

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.