Как отфильтровать уникальные значения списка, используя только целые числа или списки и без функций в JavaScript?

Мне нужно собрать уникальные значения и поместить их в другой список, чтобы избежать дублирования. Проблема в том, что я не могу использовать функции, такие как .filter(), .includes() или .push(), потому что работаю на Code.org, где есть ограничения по функциям, которые я обычно использую.

Вот что я пробовал:

function checkExistence(city) {
  addToNewList(uniqueCities, allCities[0]);
  for (var i = 0; i < allCities.length; i++);
  if (uniqueCities[i] != city){
    addToNewList(uniqueCities, allCities[i]);
  }
  else {
    i++;
  }
}

И ещё один вариант:

function populateDropdown(){ 
  for (var i = 0; i < allCities.length; i++){
    if (checkExistence(allCities[i]) == true) {
      addToNewList(uniqueCities, allCities[i]);
    }
    else {
      i++;
    }
  }
}

function checkExistence(city) {
  for (var i = 0; i < uniqueCities.length; i++);
  if (uniqueCities[i] == city){
    return true;
  }
}

Я пробовал и другие варианты, но они не сработали. Как можно правильно реализовать фильтрацию уникальных значений с использованием только базовых операций?

Твоя логика перепутана. Сначала проверь, есть ли элемент в массиве уникальных, потом добавляй. Делай так: берешь элемент из allCities, проходишь по uniqueCities и сравниваешь. Не совпал ни разу? Значит уникальный - добавляй. Поставь флаг found = false в начале, нашел совпадение - делай found = true. После цикла found все еще false? Добавляй элемент.

Твой код полон синтаксических ошибок. В checkExistence ты возвращаешь true только когда элемент найден - а если не найден? Функция вернет undefined. Добавь else { return false; }. Плюс логика перевернута - ты добавляешь элемент когда checkExistence возвращает true, должно быть наоборот. Зачем вообще используешь Code.org, если там нет базовых функций?

Твой код не работает из-за нескольких проблем. Главная - ты поставил точку с запятой после цикла for, поэтому код внутри просто не выполняется. Логика должна быть такой: проходишь по всем городам, для каждого проверяешь весь массив уникальных значений - есть ли там такой элемент. Если нет - добавляешь новый. Короче, нужно два вложенных цикла: внешний по всем городам, внутренний по уникальным. Если совпадений не нашел, добавляешь в список уникальных. И убери эти точки с запятой после for.