使用子字符串更改数组元素值

Changing array element value using substring

本文关键字:数组元素 字符串      更新时间:2023-09-26

在这里,我正在使用substring(0,4)方法修改数组元素,但在控制台中抛出此错误。

Javascript ReferenceError: invalid assignment left-hand side

通常我们使用这样的

obj1.messages[2].splice(2, 1);  //To delete the particular array elements

但是,我需要通过获取子字符串来删除数组元素"20121224"的特定值。并将值重新分配给 1000

怎么可能?

var obj = {
    equipments:'first',
    messages:['20121224','20131123','20141025'],
}
console.log(obj);
obj1 = obj;
if (obj1["equipments"] == 'first' ) {
    // obj1.messages[2].splice(2, 1); 
    alert(obj1.messages[2].substring(0,4));
    delete obj1.messages[2].substring(0,4);
    obj1.messages[2].substring(0,4) = '1000';
}
console.log(obj1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

您可以简单地使用来实现它。

obj1.messages[2] = '1000' + obj1.messages[2].substring(4);

var obj = {
    equipments:'first',
    messages:['20121224','20131123','20141025'],
}
console.log(obj);
obj1 = obj;
if (obj1["equipments"] == 'first' ) {
    obj1.messages[2] = '1000' + obj1.messages[2].substring(4) ;
    alert( obj1.messages[2])
}
console.log(obj1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

试试这个,

var newString='1000'+obj1.messages[2].substring(4,obj1.messages[2].length);

因为子字符串返回指定的字符串部分,在您的情况下是前 4 个字符。要替换应使用替换的值,如下所示:

obj1.messages[2] = obj1.messages[2].replace(/201'd/, '1000');