для (пусть введите в данные) цикл 1 или более раз с JavaScript

1

Я хочу, чтобы цикл был только один раз, или я хочу, чтобы цикл задал время в цикле.

У меня очень большой JSON, и структура выглядит так:

{
  "-item1" : {
    "added_by" : "[email protected]",
    "id" : "-KlxUo5HGr7sdEsgEea1",
    "name" : "Apivita"
  },
  "-item2" : {
    "added_by" : "[email protected]",
    "id" : "-KlxUq4SgTfefuAB2XH1",
    "name" : "Lierac"
  },
  "-item3" : {
    "added_by" : "[email protected]",
    "id" : "-KlxUs1I3P7z2YDFtQPh",
    "name" : "Bioderma"
  }
}

Как петля только один раз?

// get the object key
for(var key in data) {
  var value = data[key];
}

Я хочу только данные объекта item1. Или первые 5 предметов легко?

  • 1
    Чего ты пытаешься достичь? Хотите получить доступ только к первому элементу?
  • 4
    Если вы хотите «цикл только один раз», то вы не хотите цикл .
Показать ещё 5 комментариев
Теги:

3 ответа

2
Лучший ответ

Вы можете просто добавить счетчик и выйти из цикла, если счетчик достиг своего предела:

var counter = 0;
var limit = 3;
var data = [1, 2, 3, 4, 5, 6, 7];
for (var key in data) {
  var value = data[key];
  console.log('key: ' + key + ' --> value: ' + value);
  if (++counter >= limit) break;
}
  • 0
    Спасибо за вашу помощь
1

Вы можете попробовать что-то ниже, чтобы получить определенное значение в одиночку.

//get item2
var value = data["-item2"]

Или, если вы хотите взять первые 5 значений, проверьте код ниже.

// get the object key
var keyVal=1;
for(var key in data) {
  if(keyVal <= 5){
    var value = data[key];        
  }
  keyVal++;
}
  • 0
    Спасибо за вашу помощь
  • 0
    Этот (явно непроверенный) код не работает: вы увеличиваете keyVal только если он равен >= 5 поэтому вы, по сути, никогда не увеличиваете его.
Показать ещё 1 комментарий
0

Просто используйте это

var start = 0;
var end = 0;
for(var i = start; i<end; i++){
    var value = data["-item"+i]
}
  • 0
    Спасибо за вашу помощь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню