Remove Duplicates

by jessekinsman

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine-html.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/boot.js"></script>
<div id='target'>no snapshots</div>

Babel + JSX

function removeDuplicates(arr, key) {
		var newArr = [];
		newArr = arr.slice(0, arr.length);
		for (var ind = 0; ind < newArr.length; ind += 1) {
			for (var i = ind+1; i < newArr.length; i += 1) {
				if (newArr[ind][key] == newArr[i][key]) {
					newArr.splice(i, 1);
          i -= 1;
				}
			}
		}
    return newArr;
	}
  
  var testArr = [
  {"name": "last name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "first name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "last name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "email", "msg": "Enter a last name", "problem": "invalid email"},
    {"name": "password name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "password name", "msg": "Enter a last name", "problem": "too short"}
  ]
  
  // unit tests
// do not modify the below code
describe('reduce', function() {
  it('removeDuplicates', () => {
    const testList = [
    {"name": "last name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "first name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "last name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "email", "msg": "Enter a last name", "problem": "invalid email"},
    {"name": "password name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "password name", "msg": "Enter a last name", "problem": "too short"}];
    expect(removeDuplicates(testList, "name").length).toEqual(4);
  });
    it('removeDuplicates 2', () => {
    const testList = [
    {"name": "first name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "first name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "last name", "msg": "Enter a last name", "problem": "too short"},
    {"name": "email", "msg": "Enter a last name", "problem": "invalid email"},
    {"name": "password name", "msg": "Enter a last name", "problem": "too short"},
   ...