2

問題は次のとおりです。

私はこのコードに行きます:

var str = {"Acc":10 , "adm_data":"Denied"};

次のようなことをすると:

console.log(str.Acc.match(/[0-9]+/g)) // To Get the Integer Value from the "Acc" key

ファイアーバグの叫び声:

TypeError: str.Acc.match は関数ではありません

console.log(str.Acc.match(/[0-9]+/g));

画像を参照してください:

ここに画像の説明を入力

私はいつも次のようなことをします:

var str = "Hello _10";

console.log(str.match(/[0-9]+/g)) // This Works

なぜそれがObject機能しないのですか?


ご注意ください:

で述べたように、問題は、に属さないメソッドに値を@Fabrício Matté.渡そうとしたことでした。解決策は、 提案されたことを行うことでした。次のようなもの: . 出来た!integer.matchintegers@kundan Karnstr.Acc.toString().match(/[0-9]+/g)// Converting it first to string then match

4

2 に答える 2

4

match 関数は文字列で動作します。したがって、最初に文字列に変換します

str.Acc.toString().match(/[0-9]+/g)
于 2013-10-31T08:13:53.127 に答える
1

それはうまく動作します:http://jsfiddle.net/nKHLy/

ただし、エラーを取り除くために、次のことを試してください。

var str = {"Acc":"Hello_10" , "adm_data":"Denied"};
console.log(String(str.Acc).match(/[0-9]+/g));

また

var str = {"Acc":"Hello_10" , "adm_data":"Denied"};
console.log(str.Acc.toString().match(/[0-9]+/g));

2 つのオプションの違いを知るには、次を確認してください: String(value) と value.toString() の違いは何ですか

于 2013-10-31T08:17:37.557 に答える