Javascript 拆分名称并推送到数组

Javascript 拆分名称并推送到数组,javascript,arrays,string,Javascript,Arrays,String,我有这样一个数组: var abc = [ "Ken Robert Smith", "Daniel Johnson" ] 如何拆分此数组中的单词并将其推送到分别有名字和姓氏的新单词?任何数量的名字都应该在第一列,如果只有一个姓氏,就应该在第二列 我正在学习JavaScript。我尝试了一些for循环和split(),但没有成功。添加一些示例代码会很有用,但粗略地说,您需要执行以下操作 迭代数组。对于数组中的每个元素,按空格(.split())将其拆分,然后将拆分后的元素的第一个

我有这样一个数组:

var abc = [
    "Ken Robert Smith",
    "Daniel Johnson"
]
如何拆分此数组中的单词并将其推送到分别有名字和姓氏的新单词?任何数量的名字都应该在第一列,如果只有一个姓氏,就应该在第二列


我正在学习JavaScript。我尝试了一些for循环和
split()
,但没有成功。

添加一些示例代码会很有用,但粗略地说,您需要执行以下操作

迭代数组。对于数组中的每个元素,按空格(.split())将其拆分,然后将拆分后的元素的第一个元素压入名字数组,最后一个元素(可以在索引-1处访问)压入名字数组

我将把实际代码作为练习留给学生

如果您不想重复,我建议使用存储名称

var abc = [ "Ken Robert Smith", "Daniel Johnson", "Ken Johnson" ];

const result = abc.reduce( ( result, name ) => {
  const names = name.split( /\s+/g );

  const surname = names.pop( );

  result.surnames.add( surname );
  names.forEach( name => result.firstNames.add( name ) );

  return result;
}, {firstNames: new Set, surnames: new Set} );

console.log( result.firstNames ); // Set(3) {"Ken", "Robert", "Daniel"}
console.log( result.surnames ); // Set(2) {"Smith", "Johnson"}

所以,只有最后一个字是姓,其余的是“名”

我将按空格将名称拆分为一个数组,弹出最后一个元素(lastname),然后将其余元素合并为第一个名称。像这样:

var abc=[
“肯·罗伯特·史密斯”,
“丹尼尔·约翰逊”
];
var out=abc.map(函数(el){
var b=拆分的标高(“”);
var ln=b.pop();
返回[b.加入(“”,ln];
});

控制台。注销作业问题?你能发布你试过的代码吗?可能是重复的,我什么都没做。我尝试过使用函数Split(),然后在每个元素中使用for循环,但我的js过期时间大约是一周。这不是家庭作业。我刚刚给自己设定了一个目标。