JSFiddle - React, Tailwind, and code Playground

by danbeam

JavaScript

function print(msg, head) {
    var tmp = head, data = [];
    while (tmp) {
        data.push(tmp.data);
        tmp = tmp.next;
    }
    console.log(msg + ': ' + data.join(' '));
}

function removeDupes(head, val) {
    var tmp = head, prev;
    while (tmp) {
        if (tmp.data == val) {
            if (prev)
                prev.next = tmp.next;
            else
                head = tmp.next;
        } else {
            prev = tmp;
        }
        tmp = tmp.next;
    }
    return head;
}

var a = {data: 1};
a.next = {data: 2};
a.next.next = {data: 3};
a.next.next.next = {data: 1};

print('before', a);
a = removeDupes(a, 2);
print('after', a);