質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1381閲覧

js 文章の最後の文字とtargetの文字の正誤判定するには?

may88seiji

総合スコア79

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/12/11 04:12

編集2016/12/11 04:14

###実現したいこと
文章の最後の文字とtargetの文字の正誤判定がしたいです。
*.endsWith()は使わずに

("Bastian", "n") //true
("He has to give me a new name", "name") //true
("Open sesame", "same") //true
("Walking on water and developing software from a specification are easy if both are frozen", "specification") //false

###試したこと
文字の一致はsubstr();単語の一致はsplitで分割した単語との一致で試みましたがうまく例の全てを解決するコードはかけておりません。
一つの関数で上記の例の全てに当てはまるコードはどうすればよいでしょうか。

###該当のソースコード

javascript

1 2function confirmEnding(str, target) { 3 var splitAllay = []; 4 splitAllay = str.split(' '); 5 var end = splitAllay[splitAllay.length-1]; 6 var endLetter = str.substr(-1); 7 var i = target; 8 return end && endLetter === i?true:false; 9}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

明記しなくても、条件が成立していればtrue、そうでなければfalseが返ります。

JavaScript

1function confirmEnding(str, target) { 2 return (target === str.substr(- target.length)); 3}

投稿2016/12/11 05:04

naomi3

総合スコア1105

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

may88seiji

2016/12/11 06:09

ご指摘ありがとうございます!訂正します!
guest

0

ベストアンサー

str.splitで単語ごとに区切る必要はありますか?無いようでしたら、strの後ろからn(targetの文字数)文字を切り取って、その文字とtargetが完全に一致するかをチェックしたらどうでしょうか。

文字を後ろからn文字切り出すにはslice関数が使えます。

str.slice(-n)

投稿2016/12/11 04:33

編集2016/12/11 04:38
hitsujimeeee

総合スコア486

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

may88seiji

2016/12/11 06:09 編集

こちらで無事に動作しました。ありがとうございます! function confirmEnding(str, target) { var targetLength = target.length; var strEnd = str.slice(-targetLength); return (target === str.substr(- target.length)); } confirmEnding("He has to give me a new name", "name");
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問