正在删除字符串中的最后一个换行符



我有一个名称列表(var名称(,在运行一些其他代码添加或删除名称后,我想将其放在名为nameupdated:的列表中

var names = new Array('Alice', 'Bryan', 'Catherine', 'Douglas', 'Emma', 'Frank'); 
var name = "";
var nameupdated = "";
var text = "";
for(var i in names){
name = names[i];
if (name == "" || name == text || typeof(name) == undefined)
{
}
else{
nameupdated = nameupdated + name + "n";
}
}

尽管我试图操作代码,但我似乎无法删除最后一个换行符。有人知道怎么做吗?

如果使用.filter删除要排除的项,然后使用.join和换行符,逻辑可能会清晰得多。请注意,使用数组文字通常比使用new Array构造函数更好:

var text = 'foo';
var names = [
'Alice',
'Bryan',
'Catherine',
'Douglas',
'Emma',
'Frank'
];
var nameUpdated = names
.filter(name => !(name == "" || name == text || typeof(name) == undefined))
.join('n');
console.log(nameUpdated);

  1. 先试试如果你想删除最后一个换行符,那么你可以在一行中完成
  2. 如果您想要带new line的字符串,请尝试第二次

var names = [
'Alice',
'Bryan',
'Catherine',
'Douglas',
'Emma',
'Frank'
];
//Array with n
var result = [...names].map((d, i) => i < names.length-1 && (name => !(name == "" || name == text || typeof(name) == undefined)) ? d+'n' : d);
//String with new line after each element
var result1 = [...names].map((d, i) => i < names.length-1 && (name => !(name == "" || name == text || typeof(name) == undefined))? d+'n' : d).join('');
console.log(result);
console.log(result1);

最新更新