为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哔哔one 2021-06-28 17:43:47
我有一个像这样的 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" ]
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

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

请尝试以下代码:

const stringsArray = objectIds.map(x => x.toString());

之后,在数组中获得唯一结果的最有效方法是将它们放在 Set 中。所以它看起来像下面这样:

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

希望能帮助到你!


查看完整回答
反对 回复 2021-07-01
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

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


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

                      //     "5cb0624945111f1c5fdf2527", ...

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


查看完整回答
反对 回复 2021-07-01
  • 3 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信