Skip to content

Instantly share code, notes, and snippets.

@simonrentzke
Last active September 30, 2023 03:18
Show Gist options
  • Save simonrentzke/5856414 to your computer and use it in GitHub Desktop.
Save simonrentzke/5856414 to your computer and use it in GitHub Desktop.
Array of array subtraction
function remove_selected_from_options(arr1, arr2) {
var filtered_options = [];
for (var i=0; i < arr1.length; i++) {
var included = false;
for (var z=0; z < arr2.length; z++) {
if (arr2[z][0] == arr1[i][0]) {
included = true;
break;
}
}
if (included == false) {
filtered_options.push(arr1[i]);
}
}
return filtered_options
}
var a = [[1, 'cat'], [2, 'dog'], [3, 'squirrel']];
var b = [[1, 'cat'], [2, 'dog']];
remove_selected_from_options(a, b);
@simonrentzke
Copy link
Author

function subAB(a, b) {
  return a.filter(function(itemA, index) {
    return !(b.some(function(itemB) { 
      return itemB[0] === itemA[0];
    }))
  })
}

var a = [[1, 'cat'], [2, 'dog'], [3, 'squirrel']];
var b = [[1, 'cat'], [2, 'dog']];
subAB(a, b)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment