Javascript 如何将mongoose对象数组转换为字符串数组?

Javascript 如何将mongoose对象数组转换为字符串数组?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有一个objectid数组,如下所示: [ 5cd295fbc53f626fd9d70894, 5cb0624945111f1c5fdf2527, 5cc290f5b90fc527c1e46efd, 5cd6737f294e7b6ec3d9420f, 5cd295fbc53f626fd9d70894, 5cb0624945111f1c5fdf2527, 5cc290f5b90fc527c1e46efd, 5cd6737f294e7b6ec3d9420f, 5cd

我有一个objectid数组,如下所示:

[ 5cd295fbc53f626fd9d70894,
  5cb0624945111f1c5fdf2527,
  5cc290f5b90fc527c1e46efd,
  5cd6737f294e7b6ec3d9420f,
  5cd295fbc53f626fd9d70894,
  5cb0624945111f1c5fdf2527,
  5cc290f5b90fc527c1e46efd,
  5cd6737f294e7b6ec3d9420f,
  5cd295fbc53f626fd9d70894 ]
[ "5cd295fbc53f626fd9d70894",
  "5cb0624945111f1c5fdf2527",
  "5cc290f5b90fc527c1e46efd",
  "5cd6737f294e7b6ec3d9420f",
  "5cd295fbc53f626fd9d70894",
  "5cb0624945111f1c5fdf2527",
  "5cc290f5b90fc527c1e46efd",
  "5cd6737f294e7b6ec3d9420f",
  "5cd295fbc53f626fd9d70894" ]
我需要将每个Objectid转换成字符串

我已经尝试过使用字符串()和JSON.stringify()。但是toString()会将每个字符拆分为一个字符串,JSON.stringify()不会影响数组

实际上,我正在寻找数组中唯一的ID。我尝试了许多函数来获得唯一的元素,但它们似乎只适用于数字和字符串,而不适用于objectid

在查找元素类型时,它将其显示为对象

因此,我尝试将对象数组转换为字符串数组,这样我就可以轻松地使用其中一个函数来获得唯一的元素

预期输出如下所示:

[ 5cd295fbc53f626fd9d70894,
  5cb0624945111f1c5fdf2527,
  5cc290f5b90fc527c1e46efd,
  5cd6737f294e7b6ec3d9420f,
  5cd295fbc53f626fd9d70894,
  5cb0624945111f1c5fdf2527,
  5cc290f5b90fc527c1e46efd,
  5cd6737f294e7b6ec3d9420f,
  5cd295fbc53f626fd9d70894 ]
[ "5cd295fbc53f626fd9d70894",
  "5cb0624945111f1c5fdf2527",
  "5cc290f5b90fc527c1e46efd",
  "5cd6737f294e7b6ec3d9420f",
  "5cd295fbc53f626fd9d70894",
  "5cb0624945111f1c5fdf2527",
  "5cc290f5b90fc527c1e46efd",
  "5cd6737f294e7b6ec3d9420f",
  "5cd295fbc53f626fd9d70894" ]
您可以使用构造函数并将其作为函数传递,该函数将每个Objectid转换为字符串:

Objectids.map(String) //=> [ "5cd295fbc53f626fd9d70894",
                      //     "5cb0624945111f1c5fdf2527", ...
这不会改变objectid。它将返回一个新数组。

您可以使用构造函数并将其作为函数传递,该函数将每个Objectid转换为字符串:

Objectids.map(String) //=> [ "5cd295fbc53f626fd9d70894",
                      //     "5cb0624945111f1c5fdf2527", ...

这不会改变objectid。它将返回一个新数组。

您可以使用map执行此操作。为数组中的每个元素调用toString,并将它们作为字符串返回到新数组中

请尝试以下代码:

const stringsArray = objectIds.map(x => x.toString());
之后,在数组中获得唯一结果的最有效方法是将它们放在集合中。因此,它将如下所示:

const uniqueStrings = [...new Set(stringsArray)];

希望有帮助

你可以用地图来做。为数组中的每个元素调用toString,并将它们作为字符串返回到新数组中

请尝试以下代码:

const stringsArray = objectIds.map(x => x.toString());
之后,在数组中获得唯一结果的最有效方法是将它们放在集合中。因此,它将如下所示:

const uniqueStrings = [...new Set(stringsArray)];

希望有帮助

将ObjectId转换为字符串不是一个答案。

但是如果只想找到唯一的ObjectId,可以在JavaScript中使用set对象

根据:

使用Set对象可以存储任何类型的唯一值,无论是基元值还是对象引用

你可以做:

const set1 = new Set([your array]);

将ObjectId转换为字符串不是答案。

但是如果只想找到唯一的ObjectId,可以在JavaScript中使用set对象

根据:

使用Set对象可以存储任何类型的唯一值,无论是基元值还是对象引用

你可以做:

const set1 = new Set([your array]);

你能把代码包括进来吗?