Christian Genco

javascript

Find the first element match in an array #

const activeType = types.find((type) => type.id === value);

Array without item #

arr.filter((item) => item !== itemToRemove);

Array without item at index #

Don't use the immer way of deleting an item from an array (ex: delete ray[i]) with firebase because firebase will complain that there's an undefined item in the array.

arr.filter((_, i) => i !== deleteAtIndex);

Optional chaining with an array #

Optional chaining lets you access nested items of objects even though the object might be null.

response && response.answers is the same as response?.answers.

Using this with arrays doesn't work like this: response?.answers?[question.id].

Instead, you need an extra dot after the question mark: response?.answers?.[question.id].

Regex match #

const str =
  "Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 1280x720, 10464 kb/s, 30 fps, 30 tbr, 30k tbn, 60k tbc (default)";

const [_, width, height] = str.match(/, (\d+)x(\d+)/);

Regex match search for multiple results #

const str = `Visa ending in 5555: August 16, 2021: $155.10
Visa ending in 5555: August 16, 2021: $138.45`;

const results = str.matchAll(/\$([\d.,]+)/g);

Email regex #

From Simple regex pattern for email:

const emailRegex = /^[^@]+@[^@]+\.[^@]+$/;
if (email.match(emailRegex)) alert("it's an email alright");

Sort an array of objects by string #

From How to sort strings in JavaScript:

list.sort((a, b) => ("" + a.attr).localeCompare(b.attr));

Sum values in an array #

const sum = arr.reduce((total, item) => total + item, 0);

Search for parent node #

el.closest("tr");