javascript - JS数组索引号用字符串替换成值

标签 javascript

我有一个多维数组:

(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/

相关文章:

javascript - 隐藏 Chart JS 折线图中的点

javascript - jQuery if语句导致浏览器崩溃

javascript - 循环内的传单bindpopup

javascript - 从 Firefox 附加内容脚本中的 main.js 接收消息

javascript - HTML5 canvas 缩放和平移后获取坐标

javascript - 编写相同的代码可以获得性能提升吗?

javascript - JS 比较两个对象数组,并排除匹配值的元素到新数组中

javascript - function.call 方法有什么用?

Javascript 检查松散比较(错误值除外)

javascript - 在用户定义的内部使用 Jasmine 预定义匹配器