需要帮助将对象添加到数组

时间:2015-07-08 05:16:49

标签: javascript json node.js

我从文本文件中获取数据,需要帮助才能将信息转换为对象..

阵列:

['celestine,timmy,celestinetimmy93@gmail.com,repeat 124\narun,mohan,reach@gmail.com,repeat 124213\njobi,mec,mec@gmail.com,rave\njalal,muhammed,jallu@gmail.com,rave1231212321\nvineeth,mohan,get,rave1231212321\n' ]

我需要在一个对象中直到\ n的值

预期结果:

    [{'celestine,timmy,celestinetimmy93@gmail.com,repeat 124}
                                              {arun,mohan,reach@gmail.com,repeat 124213}

{jalal,muhammed,jallu@gmail.com,rave1231212321}
                                                 {vineeth,mohan,get,rave1231212321} ]

3 个答案:

答案 0 :(得分:0)

为了创建对象,您需要将花括号内的字符串格式化为键值对的字典。我不确定你的情况下键或值是什么。但是,如果我假设键是“键”,而值是文本,那么:

var txt = 'celestine,timmy,celestinetimmy93@gmail.com,repeat 124\narun,mohan,reach@gmail.com,repeat 124213\njobi,mec,mec@gmail.com,rave\njalal,muhammed,jallu@gmail.com,rave1231212321\nvineeth,mohan,get,rave1231212321\n';

// Use trim, to remove the trailing whitespace, in your case a '\n'
// Use split to convert the text into an array of elements
var arr = txt.trim().split('\n');

// Use the map function to map each string to an object
var objects = arr.map(function(element) {
              return { key: element};
          });

这是输出:

objects = [ { key: 'celestine,timmy,celestinetimmy93@gmail.com,repeat 124' },
  { key: 'arun,mohan,reach@gmail.com,repeat 124213' },
  { key: 'jobi,mec,mec@gmail.com,rave' },
  { key: 'jalal,muhammed,jallu@gmail.com,rave1231212321' },
  { key: 'vineeth,mohan,get,rave1231212321' } ]

答案 1 :(得分:0)

你可以这样做。

'\ n'

进行拆分后

 ['celestine,timmy,celestinetimmy93@gmail.com,repeat
 124\narun,mohan,reach@gmail.com,repeat
  124213\njobi,mec,mec@gmail.com,rave\njalal,muhammed,jallu@gmail.com,rave1231212321\nvineeth,mohan,get,rave1231212321\n'
 ]

你将获得单个一维数组。

["celestine,timmy,celestinetimmy93@gmail.com,repeat 124", "arun,mohan,reach@gmail.com,repeat 124213", "jobi,mec,mec@gmail.com,rave", "jalal,muhammed,jallu@gmail.com,rave1231212321", "vineeth,mohan,get,rave1231212321", ""]

然后循环它以获得每个单独的记录。

JS:

var test = ['celestine,timmy,celestinetimmy93@gmail.com,repeat 124\narun,mohan,reach@gmail.com,repeat 124213\njobi,mec,mec@gmail.com,rave\njalal,muhammed,jallu@gmail.com,rave1231212321\nvineeth,mohan,get,rave1231212321\n' ]
var arrString = [];
test.forEach(function(val,key){  
        arrString = val.split('\n')
        });
console.log(arrString);
arrString.forEach(function(val,key){
    console.log(val.split(','));
})

答案 2 :(得分:-1)

尝试这个想法。

var x = "celestine,timmy,celestinetimmy93@gmail.com,repeat 124\narun,mohan,reach@gmail.com,repeat 124213\njobi,mec,mec@gmail.com,rave\njalal,muhammed,jallu@gmail.com,rave1231212321\nvineeth,mohan,get,rave1231212321\n";
   var y = x.split("\n");

实施剩下的部分。使用循环将数组数组转换为对象数组