简体   繁体   English

在Javascript中将对象属性转换为逗号分隔值

[英]converting object properties to comma seperated values in Javascript

Here I want to convert object properties to comma separated values like following- Join the elements of an array into a string:在这里,我想将对象属性转换为逗号分隔的值,如下所示 - 将数组的元素加入字符串:

var fruits = {"f1":"Banana", "f2":"Orange", "f3":"Apple","f4":"Mango"};
var energy = Object.keys(fruits).map(function(k){return fruits[k]}).join(",");

The result of energy will be:能量的结果将是:

Banana,Orange,Apple,Mango

But When I apply like this-但是当我这样申请时-

 var fruits = {"f1":"Banana", "f2":"null", "f3":"Apple","f4":"Mango"};
 var energy = Object.keys(fruits).map(function(k){return fruits[k]}).join(",");

The result of energy is like this:能量的结果是这样的:

Banana,,Apple,Mango

And I want result like this-我想要这样的结果-

Banana,null,Apple,Mango

I have tried these links but No luck found.我已经尝试了这些链接,但没有找到运气。

Easy way to turn properties of Javascript object into comma-separated list? 将Javascript对象的属性转换为逗号分隔列表的简单方法?

Updated the Question更新了问题

var fruits = {"f1":"Banana", "f2":"", "f3":"Apple","f4":"Mango"};
var energy = Object.keys(fruits).map(function(k){return fruits[k]}).join(",");

The result of energy is like this:能量的结果是这样的:

Banana,,Apple,Mango

I want result like this-我想要这样的结果-

 Banana,null,Apple,Mango

Using Object.values would be easier.使用Object.values会更容易。

 // for "null" var fruits = {"f1":"Banana", "f2":"null", "f3":"Apple","f4":"Mango"}; var energy = Object.values(fruits).join(","); console.log(energy); // for null var fruits = {"f1":"Banana", "f2":null, "f3":"Apple","f4":"Mango"}; var energy = Object.values(fruits).map(String).join(","); console.log(energy); // for "" var fruits = {"f1":"Banana", "f2":"", "f3":"Apple","f4":"Mango"}; var energy = Object.values(fruits).map(v=>v===""?"null":String(v)).join(","); console.log(energy);

var fruits = {"f1":"Banana", "f2":"", "f3":"Apple","f4":"Mango"};
var energy = Object.keys(fruits).map(function(k){
    if(fruits [k] ==="") return "null";
    return fruits [k]        
    }).join(",");

about join() ,not show value null as string "null" , you can check it in map() same as below :关于join() ,不显示 value null作为字符串"null" ,您可以在map()中检查它,如下所示:

 const fruits = {"f1":"Banana", "f2":"", "f3":"Apple","f4":"Mango"}; const energy = Object.values(fruits).map(function(value){ return !value ? "null" : value; }).join(","); console.log(energy);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM