2

文字列が- depreciated最後に含まれている場合は true を返し、それ以外の場合は false を返す JS 関数を作成する必要があります。

例えば:

var somestring = "string value - depreciated";

上記の例では、関数は true を返す必要があります。

function isDepreciated(var S)
{
    //Need to check for substring in last
    //return true or false
}

search考えられる解決策の 1 つは関数を使用することですが- depreciated、これは、文字列内にある場合も true を返すことを意味します。私は本当に天気の部分文字列が最後にあるかどうかを見つける必要があります。

助けてください。

4

9 に答える 9

2

以下のコードを JS に追加します。

function isDepreciated(string){
   return  /(-depreciated)$/.test(string);
}
于 2013-07-29T08:41:26.593 に答える
1

カリー化を使用できます: http://ejohn.org/blog/partial-functions-in-javascript/

Function.prototype.curry = function() {
    var fn = this, args = Array.prototype.slice.call(arguments);
    return function() {
      return fn.apply(this, args.concat(
        Array.prototype.slice.call(arguments)));
    };
  };

ヘルパー カリー関数を使用すると、isDepricated チェックを作成できます。

String.prototype.isDepricated = String.prototype.match.curry(/- depreciated$/);

"string value - depreciated".isDepricated();

または使用.bind()

var isDepricated = RegExp.prototype.test.bind(/- depreciated$/);

isDepricated("string value - depreciated");
于 2013-07-29T08:53:08.777 に答える
1

.substr()プロパティと組み合わせてJavascript 文字列メソッドを使用する必要があり.lengthます。

function isDepreciated(var id)
{
    var id = "string value - depreciated";
    var lastdepreciated = id.substr(id.length - 13); // => "- depreciated"
    //return true or false check for true or flase
}

これは id.length - 13 で始まる文字を取得し、.substr() の 2 番目の引数が省略されているため、文字列の末尾まで続きます。

于 2013-07-29T08:42:08.860 に答える
-1
    function isDeprecated(str) {
          return ((str.indexOf("- depreciated") == str.length - "- depreciated".length) ? true : false);
    }

    isDeprecated("this")
    false

    isDeprecated("this - depreciated")
    true

    isDeprecated("this - depreciated abc")
    false
于 2013-07-29T08:44:51.357 に答える
-1

わかりました、私はこのコードをブラウザーで実行していませんが、これで何をすべきかの基本的なアイデアが得られるはずです。必要に応じて、いくつかの条件を微調整する必要がある場合があります。

var search = "- depricated";
var pos = str.indexOf(search);

if(pos > 0 && pos + search.length == str.length){
    return true;
}
else{
   return false;
}

編集:indexOf()文字列の開始インデックスを返します。

于 2013-07-29T08:40:18.583 に答える