I have a directory `my_dir` with files having names like:

```
a_v5.json
a_v5.mapping.json
a_v5.settings.json
f_v39.json
f_v39.mapping.json
f_v39.settings.json
f_v40.json
f_v40.mapping.json
f_v40.settings.json
c_v1.json
c_v1.mapping.json
c_v1.settings.json

```

I'm looking for a way to get an array `[a_v5, f_v40, c_v1]` in bash. Here, array of file names with the latest version number is what I need.

Tried this: `ls *.json | find . -type f -exec basename "{}" \; | cut -d. -f1`, but it returns the results with files which are not of the .json extension.