繁体   English   中英

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

[英]Changing array element value using substring

在这里,我正在使用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> 

您只需使用即可实现。

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);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM