我想問一下,是否可以在javascript中修改數組中多個字符串的長度。 我的數組中的每個字符串的長度都不相同,但是我想修剪每個字符串的最後2位(即修剪「-2」)。Javascript:修整數組中字符串的長度
var array = ["517577144-2","503222534-2","100003527692828-2","654703438-2","4205501-2"]
乾杯, 卡倫
我想問一下,是否可以在javascript中修改數組中多個字符串的長度。 我的數組中的每個字符串的長度都不相同,但是我想修剪每個字符串的最後2位(即修剪「-2」)。Javascript:修整數組中字符串的長度
var array = ["517577144-2","503222534-2","100003527692828-2","654703438-2","4205501-2"]
乾杯, 卡倫
地圖功能:
array = array.map(function(d){return d.substr(0,d.length-2)});
,或者你可以使用裏面片方法:
array = array.map(function(d){return d.slice(0,-2)});
然而,這假設'-2'子串只出現在這些字符串的末尾。 – doldt 2015-04-03 07:38:11
這將刪除數組中的最後一個字符-2
。
array = array.map(function(item) {
return item.replace('-2', '');
})
如果你想在最後,以去除任何字符沒有特別-2
然後
array = array.map(function(item) {
return item.substr(0, item.length-2);
})
多種方式,以最後兩個字符修剪:substr
,substring
,replace
或slice
(乾淨的解決方案)。
var array = ["517577144-2","503222534-2","100003527692828-2","654703438-2","4205501-2"];
// Using substr method
var trimmed = array.map(function(item) {
return item.substr(0,item.length - 2);
});
log(trimmed);
// Using substring method
trimmed = array.map(function(item) {
return item.substring(0,item.length - 2);
});
log(trimmed);
// Using regular expression in replace method
trimmed = array.map(function(item) {
return item.replace(/.{2}$/,'');
});
log(trimmed);
// Using slice method
trimmed = array.map(function(item) {
return item.slice(0,-2);
});
log(trimmed);
function log(array) {
document.write('<pre>' + JSON.stringify(array, null, 2) + '</pre>');
}
而是地圖,隨時可以使用標準的for
循環了。
另一種選擇是,你可以沿着使用地圖切片功能:
array = array.map(function(str){return str.slice(0,str.length-2)});
很好的答案,但'd.slice(0,-2)'是少代碼。 – 2015-04-03 07:38:44
@Moogs好主意,更新了答案,可以將字符串視爲數組:) – 2015-04-03 07:45:26