猿问

如何将猫鼬 ObjectIds 数组转换为字符串数组?

我有一个像这样的 ObjectIds 数组:


[ 5cd295fbc53f626fd9d70894,

  5cb0624945111f1c5fdf2527,

  5cc290f5b90fc527c1e46efd,

  5cd6737f294e7b6ec3d9420f,

  5cd295fbc53f626fd9d70894,

  5cb0624945111f1c5fdf2527,

  5cc290f5b90fc527c1e46efd,

  5cd6737f294e7b6ec3d9420f,

  5cd295fbc53f626fd9d70894 ]

我需要将每个 Objectid 转换为字符串。


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


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


找到元素的类型后,它会将其显示为对象。


所以我试图将对象数组转换为字符串数组,以便我可以轻松使用其中一个函数来获取唯一元素。


预期的输出是这样的:


[ "5cd295fbc53f626fd9d70894",

  "5cb0624945111f1c5fdf2527",

  "5cc290f5b90fc527c1e46efd",

  "5cd6737f294e7b6ec3d9420f",

  "5cd295fbc53f626fd9d70894",

  "5cb0624945111f1c5fdf2527",

  "5cc290f5b90fc527c1e46efd",

  "5cd6737f294e7b6ec3d9420f",

  "5cd295fbc53f626fd9d70894" ]


哔哔one
浏览 180回答 3
3回答

杨__羊羊

你可以用地图来做。为数组中的每个元素调用 toString 并将它们作为字符串返回到新数组中。请尝试以下代码:const stringsArray = objectIds.map(x => x.toString());之后,在数组中获得唯一结果的最有效方法是将它们放在 Set 中。所以它看起来像下面这样:const uniqueStrings = [...new Set(stringsArray)];希望能帮助到你!

哈士奇WWW

您可以使用map并将String构造函数作为函数传递,这会将每个 Objectid 转换为字符串:Objectids.map(String) //=> [ "5cd295fbc53f626fd9d70894",                      //     "5cb0624945111f1c5fdf2527", ...这不会改变 Objectids。它将返回一个新数组。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答