将名称重新格式化为姓氏,名字

时间:2018-05-02 18:53:11

标签: javascript

我需要你的帮助,因为我不太清楚我在这里做什么。我将如何以编程方式将名称重新格式化为姓氏,名字。我还要在这里投入一些曲线球:

Ex.1 John Michael Smith
Smith, John Michael

Ex.2 Richard P. Johnson
Johnson, Richard P.

Ex.3 Jane Doe
Doe, Jane

2 个答案:

答案 0 :(得分:0)

我建议找到空格.split字符的最后一次出现,在该点分割字符串。您将该空间的部分设为' ',将该空间后的部分设为firstName。然后您可以根据需要连接它们,例如:lastName

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

上的参考资料

答案 1 :(得分:0)

试试这个。此函数将字符串的最后一个单词视为lastname,其他字符为firstname



function reformatter(str) {
  var output = "",
    arr = str.split(' ');
  output += arr[arr.length - 1] + ', ';
  for(var i = 0; i < arr.length - 1; i ++) {
    output += arr[i];
    if(i < arr.length - 2) {
      output += " ";
    }
  }
  return output;
}

var x = "John Michael Smith";
console.log(reformatter(x));

var y = "Richard P. Johnson"
console.log(reformatter(y));

var z = "Jane Doe";
console.log(reformatter(z));
&#13;
&#13;
&#13;