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

cse*_*pta 1 javascript

在这里,我想将对象属性转换为逗号分隔的值,如下所示 - 将数组的元素连接到字符串中:

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

能量的结果将是:

Banana,Orange,Apple,Mango
Run Code Online (Sandbox Code Playgroud)

但是当我这样申请时-

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

能量的结果是这样的:

Banana,,Apple,Mango
Run Code Online (Sandbox Code Playgroud)

我想要这样的结果-

Banana,null,Apple,Mango
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这些链接,但没有找到运气。

将 Javascript 对象的属性转换为逗号分隔列表的简单方法?

更新了问题

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

能量的结果是这样的:

Banana,,Apple,Mango
Run Code Online (Sandbox Code Playgroud)

我想要这样的结果-

 Banana,null,Apple,Mango
Run Code Online (Sandbox Code Playgroud)

sap*_*ics 6

使用起来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);
Run Code Online (Sandbox Code Playgroud)