Не выходит проверка на наличие в json нужного мне значения

94
06 июня 2021, 10:00

Вот собственно сам код(я ещё новичок в js)

$('#saveVideoBtn').click(function(evt) {
  var cmo = document.getElementById("videoLink").value;
  var keks = JSON.parse('[{"videoLink":""},{"videoLink":""},{"videoLink":""},{"videoLink":"https:\/\/www.ustream.tv\/embed\/9600798"},{"videoLink":"https:\/\/www.rt.com\/on-air\/embed\/"},{"videoLink":"https:\/\/www.ustream.tv\/embed\/13659436"},{"videoLink":"https:\/\/www.ustream.tv\/embed\/9948292"},{"videoLink":"https:\/\/cabinet.glazok.kz\/embed\/v2\/?server=100-pSVOGsxeGuQkxVOnCv6GHk&camera=393216&width=&height=&lang=ru"},{"videoLink":"https:\/\/www.youtube.com\/embed\/5nn_vtDSBWo"},{"videoLink":"http:\/\/www.youtube.com\/embed\/21X5lGlDOfg"},{"videoLink":"https:\/\/www.youtube.com\/watch?v=taD9hqwCb1o"},{"videoLink":""},{"videoLink":""},{"videoLink":"https:\/\/www.youtube.com\/embed\/YAmqhZHb4lw"}]').videoLink;
  alert(keks[cmo]);
  console.log(keks);
  if ($.inArray(cmo, keks) != -1) {
    alert("kek");
  } else {
    return false;
    //$("#saveVideoBtn").prop("disabled", false);
    $('#updateCategoryForm').submit();
  }
});

Должен проверять уникальность по базе сравнивая input и значения с базы, о почему то совсем не хочет этого делать. Подскажите где косячу..

Answer 1

Так должно работать :)

 function searchInObj(o, f) { 
      return o.filter(function(o) {
           return Object.keys(o).some(function(k) {
                return o[k] == f ? o[k].includes(f) : null;
           })
      });
  }
   $('#saveVideoBtn').click(function(evt) {
      var cmo = document.getElementById("videoLink").value;
  var keks = JSON.parse('[{"videoLink":""},{"videoLink":""},{"videoLink":""},{"videoLink":"https:\/\/www.ustream.tv\/embed\/9600798"},{"videoLink":"https:\/\/www.rt.com\/on-air\/embed\/"},{"videoLink":"https:\/\/www.ustream.tv\/embed\/13659436"},{"videoLink":"https:\/\/www.ustream.tv\/embed\/9948292"},{"videoLink":"https:\/\/cabinet.glazok.kz\/embed\/v2\/?server=100-pSVOGsxeGuQkxVOnCv6GHk&camera=393216&width=&height=&lang=ru"},{"videoLink":"https:\/\/www.youtube.com\/embed\/5nn_vtDSBWo"},{"videoLink":"http:\/\/www.youtube.com\/embed\/21X5lGlDOfg"},{"videoLink":"https:\/\/www.youtube.com\/watch?v=taD9hqwCb1o"},{"videoLink":""},{"videoLink":""},{"videoLink":"https:\/\/www.youtube.com\/embed\/YAmqhZHb4lw"}]');
  if(searchInObj(keks, cmo).length === 0) {
          alert("kek");
          return false;
  } 

  alert(keks[cmo]);
  console.log(keks);
    //$("#saveVideoBtn").prop("disabled", false);
    $('#updateCategoryForm').submit();
});
READ ALSO
переменная выводит undefined

переменная выводит undefined

есть два файла libjs:

96
Суммировать значения select (option data) в input

Суммировать значения select (option data) в input

Помоги пожалуйста переделать, чтобы сумма считалась не по значениям value выбранных option, а по значениям data-col

78
Как можно изменять порядок элементов массива из DOM?

Как можно изменять порядок элементов массива из DOM?

У меня в реакт компоненте, рендерется определенный список из массива с помощью map()Соответственно в DOM они отображаются последовательно, соответсвтенно...

339