Common JavaScript snippets for data manipulation

I find myself having to look up how to do things in JavaScript. After years of doing so, I’ve realized that its pretty much a common set of techniques that look for when manipulating data. So I’ve decided to create this list. Note that this is by far not a complete list – and is one that will continue to grow.


So here are common JS snippets for data manipulation:

Find Unique Values from Array

let uniqueArr = [... new Set(arr)];     // MAKES NEW ARRAY
let uniqueObj = new Set(arr); 		// MAKES NEW OBJ

Sorting Flat Arrays

arr.sort((a, b) => a - b);  // WILL SORT ASC 
arr.sort((a, b) => b - a);  // WILL SORT DESC
arr.sort()                  // WILL SORT STRINGS ASC 

Sorting an Array of Objects

arr.sort((a, b)=> a.prop - b.prop); //WILL SORT BY VALUE OF .PROP 

Sorting Objects by property value

This is when you have a Map (or a hash table), and you want to sort by key.

//obj is a map and you want to sort it by its property "sortPropert"
Object.keys(obj).sort((a, b)=> obj[a].sortProperty - obj[b].sortProperty); 

Find number of occurrences of an element in an Array

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
const counts = {};

for (const num of arr) {  //USE FOR OF
  counts[num] = counts[num] ? counts[num] + 1 : 1;

Add/Subtract all numbers in an Array

let sum = arr.reduce((a, b) => a + b, 0); //ADD
let diff = arr.reduce((a, b) => a - b, 0); //SUBTRACT

Find Alphanumeric Chars from a String

'FT&abC3'.match(/^[A-Za-z0-9]+$/) //WILL RETURN [F,T,a,b,C,3]

Object keys and values

You don’t need to loop through objects to get an array of keys / values:

Object.keys(obj) 			// GET KEYS OF OBJECT as an array
Object.values(obj) 			// GET VALUES OF OBJECT as an array 
Object.keys(obj).length 	        //FIND LENGTH OF OBJECT (NOT ARRAY) 

Find Largest / Smallest number in Array:


Copy Arrays by value (not by reference)

let arr1 = origArray.slice();  
let arr2 = origArray.slice();
//arr1 and arr2 are complete cloned copies of origArray

Leave a Comment.