@Rapen

Вопрос из одной из задач на «learn.javascript.ru» что-за nextInput?

Вот решение одной из задач на данном сайте, в котором имеется функция, возвращающий массив с уникальными элементами прим:
var arr1 = ["pro","pro""pro","mid","low","mid","hard","mid","low"]; unique(arr1); // pro,mid,low,hard


Реализация функции:
function unique(arr) {
      var result = [];
 
      nextInput:
        for (var i = 0; i < arr.length; i++) {
          var str = arr[i]; // для каждого элемента
          for (var j = 0; j < result.length; j++) { // ищем, был ли он уже?
            if (result[j] == str) continue nextInput; // если да, то следующий
          }
          result.push(str);
        }
      return result;
    }
    var strings = ["кришна", "кришна", "харе", "харе",
      "харе", "харе", "кришна", "кришна", "8-()"
    ];    
    alert( unique(strings) ); // кришна, харе, 8-()

Сама реализация мне не очень понятна, из-за имеющегося непонятного псевдосвойства nextInput, который был инициализирован в фунцкии, а не в объекте, что в вижу впервые, за 6 месяцев своего обучения, и по-ходу прошу объяснить принцип работы данной функции, давольно понятно, что функция это тоже объект, но инициализация фунцкии, делалось func.prop = 5 именно так, в ходе обучения, не демонстрировалось создание свойства в самой функцкии, заранее буду благодарен!
  • Вопрос задан
  • 422 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
javascript.ru/label

Смысл в том, чтобы в continue "выпрыгнуть" не только из внутреннего цикла, но и из внешнего.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
hector2009
@hector2009
Frontend Developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы