присвоение переменной очень большому массиву делает ее неопределенной

#javascript #json #bigdata

#javascript #json #bigdata

Вопрос:

Я использовал некоторую конечную точку, чтобы получить простую информацию для всех криптомонет, этот список очень большой

2 наглядных примера, иллюстрирующих проблему

 // example one

var arrWithSmallLength = [  {
    name: 'Bitcoin',
    symbol: 'btc',
    id: 'bitcoin',
    image: 'bitcoin_logo_url'
  },.....];

// length of arrWithSmallLength is less than 1000

console.log(arrWithSmallLength); // it prints the array normally

// example two

var arrWithBigLength = [  {
    name: 'Bitcoin',
    symbol: 'btc',
    id: 'bitcoin',
    image: 'bitcoin_logo_url'
  },.....];

// length of arrWithBigLength is more than than 8000

console.log(arrWithBigLength); // it prints undefined
 

arrWithBigLength отображается в коде VS более чем в 78500 строках

Обновить

найдите полезную нагрузку данных по этой ссылке: https://drive.google.com/file/d/1FIbMoLbtzRm7LqMaPZnE3EAL26sj4VOo/view

Комментарии:

1. Можете ли вы показать код, который загружает массивы?

2. Там нет кода, загружающего его, просто назначьте его переменной и попробуйте ее зарегистрировать

3. Когда я говорю load, я имею в виду присвоить этому массиву более 8000 элементов. Как вы это делаете? С помощью цикла for? Путем ручной настройки length = 8000 ?

4. Нет, это готовые данные (жестко закодированные)

5. Поскольку ваш образец не содержит фактических данных, которые вызывают проблему, я попробовал следующее: var arrWithBigLength = Array.from({length: 20000}).map((x,i) => ({name: 'Bitcoin-' i,symbol: 'btc-' i,id: 'bitcoin-' i,image: 'bitcoin_logo_url_' 1})); console.log(arrWithBigLength); . Это отлично работает с 20 000 записями. Вы получаете undefined означает, что что-то не так с фактическими фиксированными данными, которые вы загружаете в переменную.

Ответ №1:

В вашем json-файле найдите значение ‘Staked yAxis’. После этой записи вы найдете

   }
]
[
  {
 

Здесь вы повторяете свои данные во второй раз, что приводит к неправильному определению json. Удалите двойные значения после этой строки, и ваши данные будут работать. Все, что после строки 39273, не должно быть там (кроме закрытия } .