js字符串拼接

后台让我给他们传图片的时候给图片排序
我现在取到的图片地址是
19998321312.jpg

后台需要的格式是
19998321312_01.jpg
19998321312_02.jpg
19998321312_03.jpg
...
19998321312_10.jpg
19998321312_11.jpg

个位数在前边加 0
请问我需要怎么拼接

阅读 3.5k
4 个回答
  var arr = [{url: '19998321312.jpg'}];
  var result = arr.map((item,index) => {
      var strIndex = index + 1;
      if((strIndex).toString().length===1){
        strIndex = '0' + strIndex;
      }
      var urlIndex = item.url.lastIndexOf('.');
      var beforeUrl = item.url.slice(0, urlIndex);
      var afterUrl = item.url.slice(urlIndex)
      item.url = beforeUrl + '_' + strIndex + afterUrl;
      return item;
  });
  console.log(result); // [{url: "19998321312_01.jpg"}]
  // 多个改下数组arr即可。
'19998321312.jpg'.replace(/(\d+)(\.jpg)/g,'$1'+'_01'+'$2')
//"19998321312_01.jpg"

你这个要传值之前是一个数组吗?
function handleSort () {
let arr = [19998321312,19998321312,19998321312,19998321312,19998321312,19998321312,19998321312,19998321312,19998321312,19998321312]
let result = []
for (let i = 0; i < arr.length; i++) {

if (i <= 9) {
  arr[i] = arr[i] + '_0' + (i*1+1)
  result.push(arr[i])
} else {
  arr[i] = arr[i] + '_' + i
  result.push(arr[i])
}

}
return result
}
//handleSort()
是的话可以试试

var arr = ["19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg"]
function arrimg() {

var arr2 = [];
 arr.forEach(function(ele,index){  
    arr2.push(arr[index].split('.').join('_'+parseInt(index+1)+'.'));  
  });  
return arr2;

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏