admin管理员组文章数量:1356017
I have an array of ObjectIds like this:
[ 5cd295fbc53f626fd9d70894,
5cb0624945111f1c5fdf2527,
5cc290f5b90fc527c1e46efd,
5cd6737f294e7b6ec3d9420f,
5cd295fbc53f626fd9d70894,
5cb0624945111f1c5fdf2527,
5cc290f5b90fc527c1e46efd,
5cd6737f294e7b6ec3d9420f,
5cd295fbc53f626fd9d70894 ]
I need to convert each Objectid into strings.
I have tried toString() and JSON.stringify(). But toString() splits every character into a string and JSON.stringify() does not affect the array.
Actually I was working on finding the unique Ids in the array. I have tried many functions to get unique elements, but they seem to work only with numbers and strings and not ObjectIds.
On finding the type of element, it displayed it as an object.
So I'm trying to convert the array of objects to array of string, so that I can easily use one of the functions to get the unique elements.
Expected output would be like this:
[ "5cd295fbc53f626fd9d70894",
"5cb0624945111f1c5fdf2527",
"5cc290f5b90fc527c1e46efd",
"5cd6737f294e7b6ec3d9420f",
"5cd295fbc53f626fd9d70894",
"5cb0624945111f1c5fdf2527",
"5cc290f5b90fc527c1e46efd",
"5cd6737f294e7b6ec3d9420f",
"5cd295fbc53f626fd9d70894" ]
I have an array of ObjectIds like this:
[ 5cd295fbc53f626fd9d70894,
5cb0624945111f1c5fdf2527,
5cc290f5b90fc527c1e46efd,
5cd6737f294e7b6ec3d9420f,
5cd295fbc53f626fd9d70894,
5cb0624945111f1c5fdf2527,
5cc290f5b90fc527c1e46efd,
5cd6737f294e7b6ec3d9420f,
5cd295fbc53f626fd9d70894 ]
I need to convert each Objectid into strings.
I have tried toString() and JSON.stringify(). But toString() splits every character into a string and JSON.stringify() does not affect the array.
Actually I was working on finding the unique Ids in the array. I have tried many functions to get unique elements, but they seem to work only with numbers and strings and not ObjectIds.
On finding the type of element, it displayed it as an object.
So I'm trying to convert the array of objects to array of string, so that I can easily use one of the functions to get the unique elements.
Expected output would be like this:
[ "5cd295fbc53f626fd9d70894",
"5cb0624945111f1c5fdf2527",
"5cc290f5b90fc527c1e46efd",
"5cd6737f294e7b6ec3d9420f",
"5cd295fbc53f626fd9d70894",
"5cb0624945111f1c5fdf2527",
"5cc290f5b90fc527c1e46efd",
"5cd6737f294e7b6ec3d9420f",
"5cd295fbc53f626fd9d70894" ]
Share
Improve this question
edited Jun 13, 2019 at 13:04
shaochuancs
16.3k3 gold badges62 silver badges67 bronze badges
asked Jun 13, 2019 at 12:56
Shambhavi_RBShambhavi_RB
1211 silver badge8 bronze badges
1
- can you please include the code? – Abhishek Anand Commented Jun 13, 2019 at 13:10
3 Answers
Reset to default 5You could do it with map
. Call toString
for each element in the array and returning them in a new array as strings.
For example:
const stringsArray = objectIds.map(x => x.toString());
Then the most efficient way to get unique results in an array would be to put them on a Set. So it would look like the following:
const uniqueStrings = [...new Set(stringsArray)];
You can use map and pass the String constructor as a function, which will convert each Objectid into a string:
Objectids.map(String) //=> [ "5cd295fbc53f626fd9d70894",
// "5cb0624945111f1c5fdf2527", ...
This will not mutate Objectids. It will return a new array.
It's not a answer to convert the ObjectId to string.
But if you want to find only the unique ObjectId, you can use the set object in JavaScript
According to MDN :
The Set object lets you store unique values of any type, whether primitive values or object references.
You can do:
const set1 = new Set([your array]);
本文标签: javascriptHow to convert an array of mongoose ObjectIds into an array of stringsStack Overflow
版权声明:本文标题:javascript - How to convert an array of mongoose ObjectIds into an array of strings? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744008103a2575059.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论