我有一个数组,其长度最多可以包含20个元素:
[ '0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482;' ]
我需要从数组的最后一个元素中删除分号。
这是我期望的结果:
[ '0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482' ]
for (const value of Object.values(arrayOfJobs)) {
console.log(value)
const arrayLength = value.length - 1;
value[arrayLength].replace(';', '');
console.log(value)
}
我试图这样做,但是仍然不能删除数组末尾的分号。我的问题是未分配值
答案 0 :(得分:5)
您可以弹出该项目,对字符串进行切片,然后将其推入数组的末尾。
var array = ['0ad39f02478f5;', '309c9e9051482;', 'dd7d5faf07569;', 'ghdg9f02478f5;', '30967uj051482;', 'ad398ixc478f5;', '39c9frtuyr482;']
array.push(array.pop().slice(0, -1));
console.log(array);
答案 1 :(得分:2)
使用split
删除;
var a = ['0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482;'
];
if(a.length>0)
a[a.length - 1] = a[a.length - 1].split(';')[0]
console.log(a)
使用replace
var a = ['0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482;'
];
if(a.length>0)
a[a.length - 1] = a[a.length - 1].replace(';','');
console.log(a)
答案 2 :(得分:2)
您的实施工作几乎已经完成。您只需要考虑value[arrayLength].replace(';', '')
实际上并没有改变值,而是返回了一个新值。因此,这样分配新值
...
value[arrayLength] = value[arrayLength].replace(';', '')
...
您也不必遍历所有项目,因为我们只想获取最后一个。所以这里是您的解决方案调整。
const arrayOfJobs = [
'0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482;'
];
arrayOfJobs[arrayOfJobs.length - 1] = arrayOfJobs[arrayOfJobs.length - 1].replace(';', '');
console.log(arrayOfJobs);
答案 3 :(得分:1)
您可以使用map
来获取初始数组的副本,其中最后一个值被更改:
const data = [
'0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482;'
];
function getFinalArray(arr) {
return arr.map((x, i) => {
if (i === arr.length - 1)
return x.replace(';', '');
return x;
});
}
console.log(getFinalArray(data));
答案 4 :(得分:0)
以一种简单的方式
l[lastIndex] = l[lastIndex].replace('from', 'to')
获取上一个索引=> [].length-1
l = ['0ad39f02478f5;', '309c9e9051482;', 'dd7d5faf07569;', 'ghdg9f02478f5;', '30967uj051482;', 'ad398ixc478f5;', '39c9frtuyr482;']
l[l.length-1] = l[l.length-1].replace(';', '');
console.log('my list', l);
答案 5 :(得分:0)
一个简单的解决方案
var x = [ '0ad39f02478f5;',
'309c9e9051482;',
'dd7d5faf07569;',
'ghdg9f02478f5;',
'30967uj051482;',
'ad398ixc478f5;',
'39c9frtuyr482;' ]
var len = x.length-1
x[len] = x[len].replace(";", "")
console.log(x)