@gotohell

Как правильно обработать массив?

Всем привет! В общем я собрал массивы:
var coordPaM1 = [];
var coordPaM2 = [];

$('.table-data').each(function(index) {
    coordPaM1[index] = {
      y: $(this).data('pascalmax'), x: $(this).data('rashodmin')
    },
    coordPaM2[index] = {
      y: $(this).data('pascalmin'), x: $(this).data('rashodmax')
    }
});


Поместил их в две разные переменные!
Вывожу их в график так:
new Chartist.Line('.chart', {
  series: [
    coordPaM1, coordPaM2
  ]
}


По моей задумке он должен был выводить по одному объекту из каждой переменной. Скрипт выводит сначала все объекты из переменной coordPaM1, потом из coordPaM2. Как обработать их так что бы они выходили поочередно с каждой переменной по объекту.

То есть выходило так:
coordPaM1 (Объект)
coordPaM2 (Объект)
coordPaM1 (Объект)
coordPaM2 (Объект)

codepen
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 1
edtoken
@edtoken
Full-stack Javascript/Python Developer
var nodes = Array.prototype.slice.call(document.querySelectorAll('.table-data'));
var series = nodes.reduce(function(memo, item){
    memo[0].push({y:item.dataset.pascalmax, x:item.dataset.rashodmin});
    memo[1].push({y:item.dataset.pascalmin, x:item.dataset.rashodmax});
    return memo;
  }, [[], []]);

или:
var nodes = Array.prototype.slice.call(document.querySelectorAll('.table-data'));
var series = nodes.reduce(function(memo, item){
    memo.push({y:item.dataset.pascalmax, x:item.dataset.rashodmin});
    memo.push({y:item.dataset.pascalmin, x:item.dataset.rashodmax});
    return memo;
  }, []);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы