javascript - 使用map()两次后创建一个数组

标签 javascript node.js

我可能会也可能不会获得 2 个不同格式的数据位。

它们都需要以不同的方式去除字符。请原谅变量名称,一旦我完成这项工作,我会让它们变得更好。

  const cut = flatten.map(obj => {
    return obj.file.replace("0:/", "");
  });

  const removeDots = flatten.map(obj => {
    return obj.file.replace("../../uploads/", "");
  })

然后我需要将数组推送到我的 mongo 数据库中。

let data;
for (const loop of cut) {
  data = { name: loop };
  product.images.push(data);
}
let moreData;
for (const looptwo of removeDots) {
  moreData = {name: looptwo};
  product.images.push(moreData);
}

我想知道是否有办法加入它们或执行 if/else,因为这样做的结果是,如果我有 2 条记录,它最终会重复,我得到 4 条记录而不是 2 条。此外,其中 2 条记录的格式不正确,即:“0:/仍然存在,而不是被删除。

理想情况下,我想检查是否存在 0:/ ,将其删除,如果 ../../uploads/ 存在,或者如果两者都存在,则将其删除。然后从中创建一个数组来推送。

最佳答案

您可以在同一个 map 上进行两次替换:

const processed = flatten.map(obj => {
    return obj.file.replace("0:/", "").replace("../../uploads/", "");
});

关于javascript - 使用map()两次后创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54343793/

相关文章:

javascript - 如何测试某物是否相同为 NaN?

javascript - 加载许多小的 JavaScript 文件还是加载一个大的 JavaScript 文件更好?

javascript - 在 node.js 中检测字符串的语言

javascript - 咕噜声 : Custom Task - No "taskname" targets found

javascript - 检测 Node 是否接收标准输入

javascript - 谷歌地图 v3 动态设置标记大小

javascript - 使用按钮交换图像 Javascript html

javascript - 在 Chrome 网络蓝牙 API 中未经用户许可连接到配对设备?

javascript - 用于 JavaScript 的 SWIG : "Module did not self-register." on load

javascript - 断开连接后 socket.io 没有重新连接