Как сравнить объекты в массиве?
Разумеется, он хочет найти по референсу.
Если бы Вы использовали lodash, было бы весьма просто сделать так:if (!~_.findIndex(vm.cartItems, objItems)) {
  vm.cartItems.push(objItems);
}
Либо самому в цикле проходить.
// EDITDEMOvar cartItems = [
  {id: 1, name: 'foo'},
  {id: 2, name: 'bar'}
];

var itemExists = {
  id: 1,
  name: 'foo'
};

var itemNew = {
  id: 3,
  name: 'baz'
};

function hasItem(collection, needle) {
  for (var i = 0, ii = collection.length; i < ii; ++i) {
    var item = collection[i];
    var keys = Object.keys(needle),
        matched = 0;
    
    keys.forEach(function (key) {
      if (item[key] == needle[key]) {
        ++matched;
      }
    });
    
    if (matched === keys.length) {
      return true;
    }
  }
  
  return false;
}

console.log(hasItem(cartItems, itemExists));
console.log(hasItem(cartItems, itemNew));
Проверка, есть ли элемент с текущим id в массиве элементов.var exists = cartItems.any(
    function(element) { 
        return element.id === id;
    }
);