将对象数组转换为换行符字符串

时间:2017-07-03 06:19:29

标签: javascript

我使用以下代码行将对象数组拆分为逗号分隔值

var myArray = [{Name: "apple"}, {Name: "Banana "}];
type : { DisplayText: myArray.length > 0 ? myArray.map(function (elm) { return elm.Name }).join(", ") : null,
         property1: 'a',
         Property2: 'b'
       }

输出:

apple, Banana 

但是,我如何生成以下输出

apple
Banana

注意: 以下does not work。它会生成输出apple Banana

DisplayText: myArray.length > 0 ? myArray.map(function (elm) { return elm.Name }).join("\n") : null,

更新 实际上我正在使用type object属性和DisplayText创建two other properties。这就是我在行尾有,的原因。看看我更新的答案

3 个答案:

答案 0 :(得分:1)

正在使用display ,而不是null;

的结尾删除null,

var myArray = [{Name: "apple"}, {Name: "Banana "}];
var type = { DisplayText: myArray.length > 0 ? myArray.map(function (elm) { return elm.Name }).join("\n ") : null,
         property1: 'a',
         Property2: 'b'
       }
  console.log(type.DisplayText)

使用html尝试使用join('<br>')

var myArray = [{Name: "apple"}, {Name: "Banana "}];
var type = { DisplayText: myArray.length > 0 ? myArray.map(function (elm) { return elm.Name }).join("<br> ") : null,
         property1: 'a',
         Property2: 'b'
       }
document.body.innerHTML +=type.DisplayText

答案 1 :(得分:0)

试试这个

   var myArray = ["apple", "Banana "];
DisplayText: myArray.length > 0 ? myArray.map(function (elm) { return elm.Name }).join("\n") : null,

答案 2 :(得分:0)

使用array#join方法,,作为分隔符

&#13;
&#13;
var myArray = ["apple", "Banana "];
console.log(myArray.join(','));
&#13;
&#13;
&#13;

如果没有传递符号,它将,作为默认分隔符

&#13;
&#13;
var myArray = ["apple", "Banana "];
    console.log(myArray.join());
&#13;
&#13;
&#13;

编辑(问题更新后)

&#13;
&#13;
var arr = [{
  Name: "apple"
}, {
  Name: "Banana "
}];
var newStr = '';

var x = arr.map(function(item) {
  newStr = item.Name;
  return newStr;

}).join();

console.log(x)
&#13;
&#13;
&#13;