我如何才能得到每2行列表的值等等到json(JavaScript)

db2dz4w8  于 2023-06-25  发布在  Java
关注(0)|答案(2)|浏览(107)

我有一个列表的名称到文本文件,我需要转换为JSON每2行。

const rawList = `*******A\r\n*******B\r\n*******C\r\n*******D`
const dataList = rawList.split('\r\n');
for (i = 0; i < dataList.length; i++) {
  var masterlist = JSON.stringify(dataList[i]);
  console.log(masterlist)
}

输出:“*******A”“*******B”“*******C”“*******D”...
我需要的是:【“*A”、“*B”】【“*C”、“*D”】……

8oomwypt

8oomwypt1#

假设您将所有Output存储在一个名为arr的数组中

const arr = ['a','b','c','d', 'e', 'f', 'g']

const chunks = []
const chunkSize = 2;
for (let i = 0; i < arr.length; i += chunkSize) {
    const chunk = arr.slice(i, i + chunkSize);
    chunks.push(chunk)
}

console.log(chunks) // [ ['a', 'b'], ['c', 'd'], ['e', 'f'], ['g'] ]
goucqfw6

goucqfw62#

几个问题,你只是分裂,然后字符串的结果。
这里是一个拆分和推送到新阵列

const rawList = `*******A\r\n*******B\r\n*******C\r\n*******D\r\n*******E`;
const masterList = [];
const dataList = rawList.split('\r\n');
let cnt = 0;
for (let i = 0; i < dataList.length; i++) {
  if (i > 0 && i%2===0) cnt++; // increment the index
  masterList[cnt] ??= []; // create a new array every second element
  masterList[cnt].push(dataList[i]);
}
console.log(JSON.stringify(masterList))

相关问题