一些外部的代碼是給我一個字符串值,如..任何javascript字符串函數?
null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,
現在我有這個值保存到數據庫中,但把0
代替null
在JavaScript。有沒有任何JavaScript字符串相關功能來做這種轉換?
一些外部的代碼是給我一個字符串值,如..任何javascript字符串函數?
null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,
現在我有這個值保存到數據庫中,但把0
代替null
在JavaScript。有沒有任何JavaScript字符串相關功能來做這種轉換?
您可以簡單地使用replace
功能一遍又一遍,直到所有的情況下被替換,但請確保您所有的字符串都不會包含的字符序列null
或數字(和明顯分隔逗號):
var str = "null,402,2912,null"
var index = str.indexOf("null");
while(index != -1) {
str = str.replace("null", "0");
index = str.indexOf("null");
}
您需要運行for
循環,因爲功能String.replace(search, rplc)
將僅替換第一個search
與rplc
的實例。因此,我們使用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
並做出相應的轉換
這應該回答您的需求。
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; });
最簡單的解決方法是:
var inputString = new String("null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,");
var outputString = inputString.replace("null", "0");
我從你的問題理解的是:
你想在一個字符串0替換爲空。
您可以使用
string = "null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,"
string.replace(/null/g,0)
希望它能幫助。