Javascript:修剪数组中字符串的长度

时间:2015-04-03 07:23:43

标签: javascript arrays string

我想问一下是否可以在javascript中修剪数组中多个字符串的长度。 我的数组的每个字符串的长度是不同的,但我想修剪每个字符串的最后2位数(意思是修剪" -2")。

var array = ["517577144-2","503222534-2","100003527692828-2","654703438-2","4205501-2"]

干杯, 卡伦

7 个答案:

答案 0 :(得分:1)

地图功能:

array = array.map(function(d){return d.substr(0,d.length-2)});

或者您可以在里面使用切片方法:

array = array.map(function(d){return d.slice(0,-2)});

答案 1 :(得分:1)

另一个选项是你可以使用map和slice函数:

array = array.map(function(str){return str.slice(0,str.length-2)});

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以尝试这样:

var x;
for(x = 0; x < 10; x++)
{
    array[x] = array[x].replace('-2', '');
}

<强> JSFIDDLE DEMO

答案 4 :(得分:0)

这将删除数组中的最后一个字符-2

   array = array.map(function(item) {
      return item.replace('-2', '');
    })

如果你想删除任何最后没有特别-2的字符,那么

 array = array.map(function(item) {
      return item.substr(0, item.length-2);
    })

答案 5 :(得分:0)

修剪最后两个字符的多种方法:substrsubstringreplaceslice(最干净的解决方案)。

&#13;
&#13;
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>');
}
&#13;
&#13;
&#13;

您也可以使用标准的for循环代替地图。

答案 6 :(得分:0)

使用开源项目jinqJs,它只是

var result = jinqJs().from(array).select(function(row){return row.slice(0, row.length-2);});

请参阅Fiddle