Используя этот список, я хочу получить каждый идентификатор из вариантов. Мне нужно для каждого цикла это? Вот что у меня есть для кода

Список: javascript jquery

-1
SPLY SPLY 21 Авг 2018 в 15:26

3 ответа

Лучший ответ

По сути, вы хотите перебрать ответ, что и делается в следующем примере $.map, но вы также можете использовать цикл for или вызов foreach для массива.

$(document).ready(function() {
  var url = 'https://kith.com/collections/footwear-women/products/nike-air-vapormax-flyknit-moc-2-black-light-cream-white.js';
  $.getJSON(url, function(data) {
    $.each(data.variants, function(index, value) {
      console.log('id:', value.id);
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
0
abc123 29 Авг 2018 в 14:19

Вам понадобится цикл, хотя вы можете использовать неявный, например, предоставляемый map(), для создания массива из свойств id в массиве variants:

$(function() {
  var url = 'https://kith.com/collections/footwear-women/products/nike-air-vapormax-flyknit-moc-2-black-light-cream-white.js';
  $.getJSON(url, function(data) {
    var variantIds = data.variants.map(v => v.id);
    console.log(variantIds);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
0
Rory McCrossan 21 Авг 2018 в 12:32

У вас есть много вариантов, когда дело доходит до итерации массива. Вот пример самого основного метода, использующего простой цикл for.

$(document).ready(function () {
  var url = 'https://kith.com/collections/footwear-women/products/nike-air-vapormax-flyknit-moc-2-black-light-cream-white.js';
   $.getJSON(url, function (data) {
      var numberOfVariants = data.variants.length;
      var ids = [];
      for(var i=0;i<numberOfVariants;i++){
        var id = data.variants[i].id;
        ids.push(id);
      }
      console.log(ids);
   });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
0
rckrd 21 Авг 2018 в 12:32
51948666