字符串替换数组映射

string replace array map

本文关键字:映射 数组 替换 字符串      更新时间:2023-09-26

列表中有数百个用户,下面只是一个示例列表:

var userList = [
  {
    "FullName": "test1",
    "UserName": "test1",
    "Email": "test1@test.com"
  },
  {
    "FullName": "test2",
    "UserName": "test2",
    "Email": "test2@test.com"
  }
];
 
var userStr = "test1 is doing a  test2";
userList.map((user) => {
	userStr.replace(RegExp(user.FullName,"gi"), user.Email)
})
console.log(userStr);

返回的测试字符串仍然相同,没有被替换为email。我所做的代码是优化的吗?

您需要使用返回值更新变量。

var userList = [{
  "FullName": "test1",
  "UserName": "test1",
  "Email": "test1@test.com"
}, {
  "FullName": "test2",
  "UserName": "test2",
  "Email": "test2@test.com"
}];
var userStr = "test1 is doing a  test2";
userList.forEach((user) => userStr = userStr.replace(RegExp(user.FullName, "gi"), user.Email))
console.log(userStr);