我有一个多维数组:
(3) [Array(1), Array(1), Array(1)]
0:["('idDocDetail','0','$createdBy')"]
1:["('idDocDetail','2','$createdBy'),('idDocDetail','4','$createdBy')"]
2:["('idDocDetail','0','$createdBy')"]
我需要用索引号替换字符串值 idDocDetail,如下所示。
(3) [Array(1), Array(1), Array(1)]
0:["('0','0','$createdBy')"]
1:["('1','2','$createdBy'),('1','4','$createdBy')"]
2:["('2','0','$createdBy')"]
我正在尝试使用 replace,但我得到 replace is not a function 错误。
array.forEach(function(item, index) {
return item.toString().replace('idDocDetail', index);
});
我做错了什么?替换是执行此操作的正确方法吗?
最佳答案
我确实建议您学习以不可变的方式执行更改。这就是 Array.prototype.map
表现出色的地方
const data = [
["('idDocDetail','0','$createdBy')"],
["('idDocDetail','2','$createdBy'),('idDocDetail','4','$createdBy')"],
["('idDocDetail','0','$createdBy')"]
]
const modified = data.map((item, index) =>
item.map(str => str.replace(/idDocDetail/g, index ))
)
modified.forEach(x => console.log(JSON.stringify(x)))
关于javascript - JS数组索引号用字符串替换成值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45738253/