在这里,我使用substring(0,4)
方法修改数组元素,但在控制台中抛出此错误。
Javascript ReferenceError: invalid assignment left-hand side
通常我们使用
obj1.messages[2].splice(2, 1); //To delete the particular array elements
但是,我需要通过获取子字符串来删除数组元素“ 2012 1224”的特定值。并将值重新指定为 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>
答案 0 :(得分:3)
您可以使用它来实现它。
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);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
试试这个,
var newString='1000'+obj1.messages[2].substring(4,obj1.messages[2].length);
答案 2 :(得分:-1)
因为substring返回指定的字符串的一部分,在你的情况下是前4个字符。 要替换值,您应该使用replace,例如:
obj1.messages[2] = obj1.messages[2].replace(/201\d/, '1000');