对象数组到数组数组以字符串形式出现 [英] Array of objects to array of array came as a string

查看:102
本文介绍了对象数组到数组数组以字符串形式出现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将JSON对象 oAtt 声明为



var oAtt = MessageStore.message ().attachments();



MessageStore.message()在此处提供的代码: https://github.com /RainLoop/rainloop-webmail/blob/master/dev/Model/Message.js



当我将其输出到控制台时 oArr [object Object],[object Object] 出现。在 stringify 之后,它变为:

  var oAtt = [
{ sModelName: AttachmentModel, disposables:[], mimeType: application / pdf, fileName: sample.pdf, fileNameExt: pdf, fileType: pdf, description:null, estimatedSize:19333, friendlySize: 19KB, isInline:false, isLinked:false, isThumbnail:false, cid:, cidWithOutTags : contentLocation: , 下载: zyfTZvzczVW6cqlcsIrm3ycmY5soz3DzK5sZhjnSOwaW0wnwGwHtqBvPeo8nVpiWD4yKVIPvAPauJHZufHGRG0Eb4MRmBpkGlvsDGP-gz3CnVp4GorN_xXCI0Gkd2I93IySKMy5iXRt-wML9wxLwTZcrOMLyPp-Kr6b0GlzlHuvk3RqEXRqSlCQTX5piRO6AaRYeMKeq8PSJcId1grMYzFpCnjVSoW_Zj7yTGAsy-D_mzFoCmBdksCweEqPdGhFYFkukblXzaZiTSNGTj1xYOvMIN4XXUZtU0EAPoQ9EFxfPWY_-1Siyge0Gks2zbGs3myxXJg .., 文件夹: INBOX, UID: 22, mimeIndex : 2, framed:false},
{ sModelName: AttachmentModel, disposables:[], mimeType: image / jpeg, fileName: test4。 jpg, fileNameExt: jpg, fileType: image, description:null, estimatedSize:26326, friendlySize: 26KB, isInline:false, isLinked:false, isThumbnail:true, cid:, cidWithOutTags:, contentLocation:, download: BN0gFmNTTOarHTn7bDrdaLxLQ- HmO36mmT8av0rwGMsO9XeBlK7OWBq4uiR5N3RkgjXBwwDtOcLBTPIx-354pFHsV2BigaNfpvFG7XlkFYyCsOwGQcNS2pR_U53ISNCnDV-bZYNjl6dc-XAPb71qOkkxn-XxWCtfqJl5ngPPQ67owcZUUfIv9ddSsGyX5PhMljxyMq6f_Cz6dp07Xeaex89ED35VTqyJe4C1MyAxq92fJlxBstcj7dM12YbRJzzWeS_B9t6g48mwh-0am6c28uxPAGYc_EP4C3VweITw7Q5uhTtNmycMksTu4CIVepYn, 文件夹: INBOX, UID: 22, mimeIndex: 3, 陷害:假}
]

当我尝试将该对象转换为值数组时,它就是


sample.pdf,test4.jpg


使用以下代码:

  var aAtt = oAtt.map(({{fileName})= > [文档名称]); 

当我将直接使用 oAtt [0] .fileName 我正在获取文件名值。同样,当我在主代码上运行它(仅声明为 oAtt map 代码行)时,它也可以正常工作。 / p>

任何提示可能出什么问题吗?

解决方案

不知道为什么 .map 在主代码中使用时不起作用,但是我最终遇到了下面的代码

  var aAtt = new Array(); 

for(var i = 0; i {
aAtt [i] = new Array();

aAtt [i] .push(oAtt [i] .fileName);
aAtt [i] .push(oAtt [i] .mimeType);
aAtt [i] .push(oAtt [i] .download);
}


I have JSON object oAtt declared as

var oAtt = MessageStore.message().attachments();

MessageStore.message() is declared in the code available here: https://github.com/RainLoop/rainloop-webmail/blob/master/dev/Model/Message.js

When I output it to the console oArr came as [object Object],[object Object]. After stringify it came as:

 var oAtt = [
    {"sModelName":"AttachmentModel","disposables":[],"mimeType":"application/pdf","fileName":"sample.pdf","fileNameExt":"pdf","fileType":"pdf","description":null,"estimatedSize":19333,"friendlySize":"19KB","isInline":false,"isLinked":false,"isThumbnail":false,"cid":"","cidWithOutTags":"","contentLocation":"","download":"zyfTZvzczVW6cqlcsIrm3ycmY5soz3DzK5sZhjnSOwaW0wnwGwHtqBvPeo8nVpiWD4yKVIPvAPauJHZufHGRG0Eb4MRmBpkGlvsDGP-gz3CnVp4GorN_xXCI0Gkd2I93IySKMy5iXRt-wML9wxLwTZcrOMLyPp-Kr6b0GlzlHuvk3RqEXRqSlCQTX5piRO6AaRYeMKeq8PSJcId1grMYzFpCnjVSoW_Zj7yTGAsy-D_mzFoCmBdksCweEqPdGhFYFkukblXzaZiTSNGTj1xYOvMIN4XXUZtU0EAPoQ9EFxfPWY_-1Siyge0Gks2zbGs3myxXJg..","folder":"INBOX","uid":"22","mimeIndex":"2","framed":false},
    {"sModelName":"AttachmentModel","disposables":[],"mimeType":"image/jpeg","fileName":"test4.jpg","fileNameExt":"jpg","fileType":"image","description":null,"estimatedSize":26326,"friendlySize":"26KB","isInline":false,"isLinked":false,"isThumbnail":true,"cid":"","cidWithOutTags":"","contentLocation":"","download":"BN0gFmNTTOarHTn7bDrdaLxLQ-HmO36mmT8av0rwGMsO9XeBlK7OWBq4uiR5N3RkgjXBwwDtOcLBTPIx-354pFHsV2BigaNfpvFG7XlkFYyCsOwGQcNS2pR_U53ISNCnDV-bZYNjl6dc-XAPb71qOkkxn-XxWCtfqJl5ngPPQ67owcZUUfIv9ddSsGyX5PhMljxyMq6f_Cz6dp07Xeaex89ED35VTqyJe4C1MyAxq92fJlxBstcj7dM12YbRJzzWeS_B9t6g48mwh-0am6c28uxPAGYc_EP4C3VweITw7Q5uhTtNmycMksTu4CIVepYn","folder":"INBOX","uid":"22","mimeIndex":"3","framed":false}
    ]

When I have tried to convert that object to an array of values array it came as

sample.pdf,test4.jpg

using code below:

var aAtt = oAtt.map(({fileName}) => [fileName]);

When I will access it directly as oAtt[0].fileName I'm getting file name value. Also when I run it off the main code (only declared oAtt and map code line) it works as should.

Any clue what can be wrong?

解决方案

No clue why .map is not working when used in the main code but I have ended up with a code below

var aAtt = new Array();

for(var i=0;i<oAtt.length;i++)
{
   aAtt[i] = new Array();

   aAtt[i].push(oAtt[i].fileName);
   aAtt[i].push(oAtt[i].mimeType);
   aAtt[i].push(oAtt[i].download);
}

这篇关于对象数组到数组数组以字符串形式出现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆