jQuery L oop хотя объект массива - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть простой объект с несколькими простыми массивами. Я хочу l oop через каждый элемент в объекте и проверить часть массива. Например, если «0» или «1», то сделайте что-нибудь.

var formvalidation = {
 title: ['id1', 0], 
 categories: ['id2', 1], 
 price: ['id3', 1], 
 video: ['id4', 0], 
 fileTypes: ['id5', 0]
}

Я пробовал следующее, но я получаю весь объект в каждом l oop.

jQuery(formvalidation).each(function(){

 //Gives the entire object. 
 console.log(); 

});

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Не скажу, что предыдущий ответ здесь не верен, но я подумал, что Id go с тем, что привело меня в качестве ответа в этом случае.

jQuery.each(formvalidation, function(key, value){
    if (value[1] == 0) {
        e.preventDefault();
    }       
})
1 голос
/ 11 февраля 2020

Немного неясно, какую обработку вы пытаетесь выполнить с каждым свойством (см. Мой комментарий с просьбой пояснить).

В приведенном ниже примере показано, как l oop через каждое свойство и извлеките первое и второе значение из массивов, которые вы храните. Этот пример предназначен для того, чтобы проиллюстрировать, как получить доступ к каждому свойству и только к его значениям - вам, очевидно, нужно будет подключить свою логику c в случае необходимости.

var formvalidation = {
  title: ['id1', 0],
  categories: ['id2', 1],
  price: ['id3', 1],
  video: ['id4', 0],
  fileTypes: ['id5', 0]
};

for (let prop in formvalidation) {
  if (Object.prototype.hasOwnProperty.call(formvalidation, prop)) {
    console.log(`Value of prop, ${prop}, is ${formvalidation[prop] [0]}:${formvalidation[prop][1]}`);
  }
}

Вы также можете использовать Object.keys, который немного чище:

var formvalidation = {
  title: ['id1', 0],
  categories: ['id2', 1],
  price: ['id3', 1],
  video: ['id4', 0],
  fileTypes: ['id5', 0]
};

const keys = Object.keys(formvalidation)
for (const key of keys) {
  console.log(formvalidation[key]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...