Nano Hash - криптовалюты, майнинг, программирование

самый простой способ копирования всех объектов в массив

У меня есть около 250 файлов json, которые я хочу скопировать в массив, мой проект основан на vuejs и webpack.

вот мой код ниже

import ch1 from 'assets/json/ar/ch1.json';
import ch2 from 'assets/json/ar/ch2.json';
....
....
import ch100 from 'assets/json/ar/ch100.json';
import ch101 from 'assets/json/ar/ch101.json';
import ch102 from 'assets/json/ar/ch102.json';
import ch103 from 'assets/json/ar/ch103.json';
import ch104 from 'assets/json/ar/ch104.json';
import ch105 from 'assets/json/ar/ch105.json';
import ch106 from 'assets/json/ar/ch106.json';
import ch107 from 'assets/json/ar/ch107.json';
import ch108 from 'assets/json/ar/ch108.json';
import ch109 from 'assets/json/ar/ch109.json';

.....
....
import ch250  from 'assets/json/ar/ch250.json';



var myalldata=  []
// i can  do this manually  as assigning to each index like below
// myalldata[1]=ch1 ;
// myalldata[2]=ch2 ; but its too lengthy code



//here i export all data as array
export default { 
  alldata:myalldata
}

Могу ли я использовать цикл for для копирования всех объектов в myalldata?? как это сделать


  • Почему вы используете import? JSON — это формат данных, JSON не предназначен для импорта модулей кода. Вы можете сделать вызов AJAX для загрузки одного JSON, а когда он загружен, вы загружаете следующий и добавляете его к результату предыдущего. Продолжайте делать это, пока не будут загружены все 250 файлов. 26.09.2017
  • @Kokodoko Почему AJAX? Файлы JSON (если они статические) могут быть скомпилированы с помощью веб-пакета, что снижает использование сети. 26.09.2017
  • За исключением того, что это, я полагаю, файлы глав для книги или игры или чего-то в этом роде. AJAX — хорошее решение, потому что зачем загружать все главы сразу — почему бы не загружать их по мере необходимости? Тогда вы распределите нагрузку на производительность, а не загрузите их все заранее, когда они вам могут не понадобиться. 26.09.2017
  • хорошая идея, я думаю об этом, 26.09.2017
  • но я не могу заставить его работать, stackoverflow.com/questions/46445425/vuejs -local-assets-path 27.09.2017

Ответы:


1

В соответствии с этим вы можете сделать следующее:

let myalldata = [];
for (let i = 1; i < 251; i++)
  myalldata[i] = require("assets/json/ar/ch" + i + ".json");

Примечание: для версий ниже v2.0.0 вам потребуется следующее: https://github.com/webpack-contrib/json-loader

26.09.2017
  • Согласно json-loader readme, он будет работать для любой версии выше v2.0.0. 26.09.2017
  • позвольте мне проверить это 26.09.2017
  • возможно с webpack1, я использую последнюю версию 3 27.09.2017

  • 2

    если вы экспортируете их все из одного модуля, вы можете сделать что-то вроде этого:

    // экспортирует все из одного модуля - exportCh.js

    export ch1 from './path/ch1'
    export ch2 from './path/ch2'
    /// etc
    

    Затем импортируйте их:

    Предполагается, что вы можете использовать ES8.

    import * as myDataSets from './exportCh'
    const myalldata = Object.values(myDataSets)
    

    Если вы можете поддерживать до ES6:

    import * as myDataSets from './exportCh'
    const myalldata = Object.keys(myDataSets).reduce((a, d) => a.concat(myDataSets[d]), [])
    
    26.09.2017
  • Это решение включает в себя несколько файлов, но если все сделано правильно, файлы JSON будут скомпилированы в пакет webpack. Я думаю, что этот ответ лучше, если вы не против иметь несколько файлов. 26.09.2017
  • Вопрос касается нескольких файлов. 26.09.2017
  • экспортировать ch1 из './path/ch1' это правильно, я получаю сообщение об ошибке, ожидаемое { 27.09.2017
  • @rashidnk - экспортирует ли этот файл файл './path/ch1' по умолчанию? в противном случае вам нужно будет сделать что-то вроде export * as ch1 from './path/ch1'. В противном случае это может быть то, как вы настроили транспилятор. Какие пресеты вы используете для переноса? 28.09.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..