首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何按内容获取数组序号?

如何按内容获取数组序号?
EN

Stack Overflow用户
提问于 2019-08-08 09:17:38
回答 2查看 439关注 0票数 2

我想按内容获取数组的序号,我的数组如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[ 
  [ '560134275538747403', 39953 ], <- 0
  [ '411510958020624384', 36164 ]  <- 1
]           (ID)         (VALUE)

要获得数组,我应该使用ID (我已经有了),然后我需要的输出是数字。

例如,'560134275538747403'会给你0'411510958020624384'会给你1,而且.

怎么做?~和。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-08 09:25:41

你可以用回调的方式接收Array#findIndex

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function findIndex(array, value) {
    return array.findIndex(([v]) => v === value);
}

var array = [['560134275538747403', 39953], ['411510958020624384', 36164]];

console.log(findIndex(array, '560134275538747403')); // 0
console.log(findIndex(array, '411510958020624384')); // 1

票数 3
EN

Stack Overflow用户

发布于 2019-08-08 09:41:28

您可以使用Array.prototype.reduce创建一个映射--使用您的字符串值作为键,使用它的索引号作为值。就像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function generateIndexMap(arr) {
  return Object.values(arr.map(a => a[0])).reduce((accum, el, idx) => {
    accum[el] = idx;
    return accum;
  }, {});
}

const arr = [ ['560134275538747403', 39953], ['411510958020624384', 36164] ];
const indexMap = generateIndexMap(arr);

console.log(indexMap['560134275538747403']);
console.log(indexMap['411510958020624384']);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57417739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文