如何用JavaScript将文本中每两行一组的名称列表转换为JSON格式
解决方法
原代码是逐个输出每个元素的JSON字符串,要实现每两行一组的数组输出,只需调整循环逻辑,每次取两个元素组成数组再序列化即可:
修改后的代码:
const rawList = `*******A\r\n*******B\r\n*******C\r\n*******D` const dataList = rawList.split('\r\n'); // 步长设为2,每次处理一组两个元素 for (let i = 0; i < dataList.length; i += 2) { // 取出当前和下一个元素组成数组,同时处理列表行数为奇数的情况 const group = [dataList[i], dataList[i+1]].filter(item => item !== undefined); const masterlist = JSON.stringify(group); console.log(masterlist) }
关键说明
- 循环步长改为
i += 2,确保每次迭代处理一组两个元素 - 用
filter过滤undefined,避免原列表行数为奇数时,最后一组出现无效值 - 将每组元素放进数组后再序列化,就能得到你需要的数组格式输出
测试输出:
["*******A","*******B"] ["*******C","*******D"]
如果不需要保留奇数行的单个元素,只需把循环条件改成i < dataList.length - 1即可。
内容的提问来源于stack exchange,提问作者MARIA
相关产品推荐
相关产品推荐

