にプッシュするには、私はこのような配列を持っていますか?最初の名前の任意の数が最初の列にある必要があり、姓だけが2番目の列に移動する必要がある場合。Spliting名と配列
Im Learning JavaScript。私はいくつかのループとsplit()
を試しましたが、失敗しました。
にプッシュするには、私はこのような配列を持っていますか?最初の名前の任意の数が最初の列にある必要があり、姓だけが2番目の列に移動する必要がある場合。Spliting名と配列
Im Learning JavaScript。私はいくつかのループとsplit()
を試しましたが、失敗しました。
サンプルコードを追加すると便利ですが、大まかに言えば、次のようにしたいと考えています。
アレイ全体を反復する。配列内の各要素について、空白(.split())で分割し、分割要素の最初の要素をファーストネーム配列にプッシュし、最後の要素(インデックス-1でアクセス可能)を最後の要素名前配列。
私は実際のコードを学生に練習として残します。
重複したくない場合は、Setを使用して名前を保存することをおすすめします。
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"}
したがって、最後の単語のみが姓で、残りは「名」です。
名前をスペースで配列に分割し、最後の要素(姓)をポップオフし、残りの要素を結合してファーストネームにします。
var abc = [
"Ken Robert Smith",
"Daniel Johnson"
];
var out = abc.map(function (el) {
var b = el.split(" ");
var ln = b.pop();
return [b.join(" "), ln];
});
console.log(out);
宿題の問題:このような? – alephtwo
試したコードを投稿できますか? – abagshaw
[Splitファーストネームとファーストネームのjavascriptを使用する](https://stackoverflow.com/questions/12340789/split-first-name-and-last-name-using-javascript) –