【问题标题】:Handle Json data and pass it to object for further use处理 Json 数据并将其传递给对象以供进一步使用
【发布时间】:2023-03-19 17:18:01
【问题描述】:

例如我有一些像下面这样的 JSON 数据(JSON 数据只是一个例子,我只是想给出一些假的、编造的和错误格式的 JSON 作为例子强>)

 cata :[{
       name:test1,
       data:['abc1, abc2'  , 'abc3,abc4']
      }
        name:test2,
       data:['abc5, abc6'  , 'abc7,abc8']
    }]

确实我需要将它渲染到前端,因此我创建了一个新对象并尝试将数据推送到其中

var name = "";
var key= [];
for(var i=0;i<2;i++){
    name .push(cata[i].name)
    key.push(cata[i].data.join(' + '));
}
var rehandle = {
     name : name,
     key : key
  }

以上只是我现在的做法,但没有提供想要的结果,我想知道如何恢复它,以便我可以更改格式

 ['abc5, abc6'  , 'abc7,abc8']

abc5+abc6 , abc7+abc8

问题的更新版本:

我想我最好一步一步解释:

  1. 我有一些原始数据

  2. 我在每组数据中都有一行“数据” (例如:数据:['abc1, abc2' , 'abc3,abc4']

  3. 我想将其格式更改为 abc1+abc2 , abc3+abc4 并将其存储到另一个变量中

  4. 我会将变量 store abc1+abc2 , abc3+abc4 传递给一个对象

5.在表格中一张一张地渲染

更新 2 我已经看到@pill 的回答,我可以像

一样渲染数据吗
   for(var i=0;i<cata.length;i++){
                  var trythis = trythis + '<td>'+name[i]+'</td>' +                '<td>'+data[i]+'</td>'
                }

【问题讨论】:

  • 我真的不知道你在这里问什么。你真的有问题吗?
  • 所以基本上我想处理数据并将它们放入对象并将其呈现在表格中
  • 是什么阻止你这样做?我的意思是什么问题?你不知道如何访问 JSON 的属性?
  • 你介意去聊天吗,因为我的问题有点老套
  • 你为什么要推入一个字符串?

标签: javascript arrays node.js


【解决方案1】:

格式化您的数据

['abc5, abc6' , 'abc7,abc8']

abc5+abc6 , abc7+abc8

你只需要使用

data.map(k => k.split(/,\s*/).join('+')).join(' , ')

或 ES5 版本

data.map(function(k) {
    return k.split(/,\s*/).join('+');
}).join(' , ');

例如...

var cata = [{"name":"test1","data":["abc1, abc2","abc3,abc4"]},{"name":"test2","data":["abc5, abc6","abc7,abc8"]}];

var rehandle = cata.reduce(function(o, d) {
  o.name.push(d.name);
  o.key.push(d.data.map(function(k) {
    return k.split(/,\s*/).join('+');
  }).join(' , '));
  return o;
}, {
  name: [],
  key: []
});

console.log('rehandle:', rehandle);

请注意,我必须修复您的数据格式

【讨论】:

  • 我其实不需要通过javascript创建表格。
  • 那你需要改进你的问题
  • @anson920520 查看我的更新答案。我只需要满足您在分隔符中有可选空格的 CSV 数据
  • node.js 似乎无法读取 .map(k => k.split(/,\s*/).join('+')) .join(' , ' )
  • @anson920520 什么版本?任何最近的 NodeJS 运行时都应该能够处理箭头函数。我在答案中添加了旧版本
猜你喜欢
  • 2021-10-28
  • 1970-01-01
  • 2020-08-22
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
相关资源
最近更新 更多