一个人如何使用JavaScript转换对象为CSV? [英] How does one convert an object into CSV using JavaScript?

查看:163
本文介绍了一个人如何使用JavaScript转换对象为CSV?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想这个对象为CSV文件转换。列名应该是关键,这是小片阵列。而最后一个数组将只有一种(键)之一,所有其他的阵列将拥有相同的密钥,但不同的价值观。

  [{
评论:好,
几个月的遭遇:4,
年的遭遇:4,
分数:3,
主题:CPP
主题:脚本(提细节)
},
{
评论:Excilent
几个月的遭遇:6
年的遭遇:6
分数:6,
主题:CSHARP
主题:WPF
},
{
还有什么值得强调:网络专家
结果:选定
总业务分析经验:假的,
项目总管理经验:假的,
总分:75,
总的服务器端开发经验:真的,
总的服务器端支持经验:真的,
总UI开发经验:真的,
总UI支持经验:真
}]


解决方案

这是一个简单的实现:

  //从对象的数组与返回一个CSV
//由制表符和行分隔值由换行分隔
功能CSV(阵列){
    //使用第一个元素来选择键和秩序
    VAR键= Object.keys(数组[0]);    //构建头
    VAR的结果= keys.join(\\ t的)+\\ n;    //添加行
    array.forEach(函数(OBJ){
        keys.forEach(功能(K,九){
            如果(九)结果+ =\\ t的;
            结果+ = OBJ [K];
        });
        结果+ =\\ n;
    });    返回结果;
}

I want to convert this object into CSV file. The column names should be keys, this is small piece of array. And the last array will be only one of kind(keys), all other array will have same keys but different values.

[{
Comment: "Good",
Experince Months: "4",
Experince Years: "4",
Score: "3",
Subject: "CPP",
Topic: "Scripting (mention details)"
},
{
Comment: "Excilent",
Experince Months: "6",
Experince Years: "6",
Score: "6",
Subject: "CSharp",
Topic: "WPF"
},
{
Anything else worth highlighting: "Web Specialist",
Result: "Selected",
Total Business Analysis Experience: false,
Total Project Management Experience: false,
Total Score: 75,
Total Server Side Development Experience: true,
Total Server Side Support Experience: true,
Total UI Development Experience: true,
Total UI Support Experience: true
}]

解决方案

This is a simple implementation:

// Returns a csv from an array of objects with
// values separated by tabs and rows separated by newlines
function CSV(array) {
    // Use first element to choose the keys and the order
    var keys = Object.keys(array[0]);

    // Build header
    var result = keys.join("\t") + "\n";

    // Add the rows
    array.forEach(function(obj){
        keys.forEach(function(k, ix){
            if (ix) result += "\t";
            result += obj[k];
        });
        result += "\n";
    });

    return result;
}

这篇关于一个人如何使用JavaScript转换对象为CSV?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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