Как зациклить массив элементов на два и поместить в другой массив в jquery? - PullRequest
0 голосов
/ 14 февраля 2019

Вот как я сделал свой массив:

var data = [];
$('tbody > tr','#iddetails').each(function(){
    var idtype   = $('.input-IDtype',this).val();
    var idnumber = $('.input-IDnumber',this).val();
    data.push(idtype, idnumber);
});

Вывод:

data = [1,2,3,4,5,6]

Я хочу, чтобы мой массив новых данных должен был выглядеть так:

newdata = [

[0] 1,2

[1] 3,4

[2] 5,6

]

Как мне сделать так, чтобы мой массив новых данных выглядел так?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

На самом деле, простая модификация вашего исходного кода может создать ожидаемый новый массив:

var data = [];

$('tbody > tr','#iddetails').each(function()
{
    var idtype   = $('.input-IDtype',this).val();
    var idnumber = $('.input-IDnumber',this).val();

    // Note here we push a new array with the pair [idtype, idnumber]
    // into data array.
    data.push([idtype, idnumber]);
});
0 голосов
/ 14 февраля 2019

Вы можете использовать комбинацию Array#reduce и Array#slice подобно

const data = [1, 2, 3, 4, 5, 6];

const newData = data.reduce((memo, val, i, originalData) => {
  if (i % 2 === 0) {
    memo.push(originalData.slice(i, i + 2))
  };
  return memo;
}, [])

console.log(newData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...