簡體   English   中英

如何在Node.js中解析數組?

[英]How to Parse an Array in Node.js?

解析的最佳方法是什么:

[ 'Tue, 5 Apr 2011 15:15:59 +0100' ]
[ 'email@email.org' ]
[ 'User Name <admin@email.com>' ]
[ 'oi' ]

並把['']拿出來嗎?

謝謝

更多細節:

這是IMAP電子郵件的負責人。

msg.headers.date

返回數據,等等。

我想要的是:

"Tue, 5 Apr 2011 15:15:59 +0100"
"email@email.org"
"User Name"
"admin@email.com"
"oi"

因此,您是說console.log(msg.headers.date)給您[ 'Tue, 5 Apr 2011 15:15:59 +0100' ] console.log(msg.headers.date) [ 'Tue, 5 Apr 2011 15:15:59 +0100' ]

在這種情況下, console.log(msg.headers.date[0]) == Tue, 5 Apr 2011 15:15:59 +0100 console.log(msg.headers.date[0]) Tue, 5 Apr 2011 15:15:59 +0100

那就是你想要得到的嗎?


這是什么? 一份文件? 直文字? 更大的JSON結構的一部分?

基本上,將其轉換為實際結構並以一種或另一種方式加載它:

 
 
 
  
  module.exports = [ [ 'Tue, 5 Apr 2011 15:15:59 +0100' ], [ 'email@email.org' ], [ 'User Name <admin@email.com>' ], [ 'oi' ] ]; ---- var info = require('./file'); // info[0][0] == Tue, 5 Apr 2011 15:15:59 +0100
 
  

或者,如果您想解析它:

 
 
 
  
  var lines = [ "[ 'Tue, 5 Apr 2011 15:15:59 +0100' ]", "[ 'email@email.org' ]", "[ 'User Name <admin@email.com>' ]", "[ 'oi' ]" ]; var info = JSON.parse('[' + lines.join(',') + ']'); // info[0][0] == Tue, 5 Apr 2011 15:15:59 +0100
 
  

假設每一行都是數組lines中的一個元素:

var lines = [
    "[ 'Tue, 5 Apr 2011 15:15:59 +0100' ]",
    "[ 'email@email.org' ]",
    "[ 'User Name <admin@email.com>' ]",
    "[ 'oi' ]"
];

for(var i=0;i<lines.length;i++){
    lines[i]=lines[i].replace(/^\[ *'|' *\]$/g,'');
}

console.log(JSON.stringify(lines));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM