Javascript 通过value值查询key

新手上路,请多包涵

定义了一个数组如下:

var anArray = [];
anArray['/#a1xccMNkp4rES8ArAAAC'] = 'a0d13bd7-9b5b-445a-bb29-50533bbd44c8';
anArray['/#a1xccMNkp4rEsdf23QWC'] = 'a0c45sf9-1dfs-123e-aw23-54632dfw33d8';
...

在javascript有没有原生或者第三方JS包,可以快速通过value值查找到key的值?

阅读 5.4k
3 个回答

你的代码有点小问题

声明了一个数组,var anArray = [];, 但是按照literal object设置的内容anArray['/#a1xccMNkp4rES8ArAAAC'] = 'a0d13bd7-9b5b-445a-bb29-50533bbd44c8';

这个就诡异了,按你的想法,你把它当数组了,那你要不要试试看console.log(anArray.length);,打出来是0

注意阅读如下两个章节:

property-accessor
Accessing array elements

用JSON就合适了。

var anArray = { '/#a1xccMNkp4rES8ArAAAC': 'a0d13bd7-9b5b-445a-bb29-50533bbd44c8', '/#a1xccMNkp4rEsdf23QWC': 'a0c45sf9-1dfs-123e-aw23-54632dfw33d8'};
console.log(Object.keys(anArray).filter(function(x){return anArray[x] == 'a0c45sf9-1dfs-123e-aw23-54632dfw33d8'}));    //找出='a0c45sf9-1dfs-123e-aw23-54632dfw33d8'的key

请搜索关键字:双向Map。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题