2012-02-20 10 views
0

いくつかの外部のコードでは、今私は、データベースに、この値を保存する必要がなく、JavaScriptでnullの代わりに0を入れてくれ..任意のJavaScript文字列関数ですか?

null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390, 

のような文字列値を与えています。この変換を行うjavascript文字列関連関数はありますか?

あなたは、単にすべてのインスタンスが交換されるまで何度も何度も replace機能を使用していますが、すべての文字列は、これまでの文字列 nullまたは番号(と明らかに区切りカンマ)で含まれることを確認することができ

答えて

0

var str = "null,402,2912,null" 
var index = str.indexOf("null"); 

while(index != -1) { 
    str = str.replace("null", "0"); 
    index = str.indexOf("null"); 
} 

String.replace(search, rplc)ファンクションは、searchの最初のインスタンスのみをrplcに置き換えるため、forループを実行する必要があります。したがって、各繰り返しで、必要な用語が存在するかどうかを確認するには、indexOfメソッドを使用します。別の方法としては、(と私の意見では、より良い代替手段は次のようになります。基本的には

var str = "null,402,2912,null" 
var parts = str.split(","); 
var data = [] 

for(var i=0; i<parts.length; i++) { 
    data[data.length] = parts[i]=="null"?0:parseInt(parts[i]); 
} 

、私たちがやっていることはあなたがとにかく数字の配列(私は推測し、希望の一種)に、この変換されますので、ということです、我々はまず、それがnullであるかどうかを確認し、それに応じて変換を行うために、各要素を検査し、個々の要素に分割し、

0

これはあなたのニーズに答える必要があります。

var str = 'null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390'; 
str.split(",").map(function (n) { var num = Number(n); return isNaN(num) ? 0 : num; }); 
0

最も簡単な解決策は以下のとおりです。

私はあなたの質問から理解何
var inputString = new String("null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,"); 
var outputString = inputString.replace("null", "0"); 
0

です:あなたは、文字列で0でヌルを交換したい

あなたは

string = "null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390," 
string.replace(/null/g,0) 

はそれが役に立てば幸い使用することができます。

関連する問題