我想按内容获取数组的序号,我的数组如下所示:
[
[ '560134275538747403', 39953 ], <- 0
[ '411510958020624384', 36164 ] <- 1
] (ID) (VALUE)
要获得数组,我应该使用ID (我已经有了),然后我需要的输出是数字。
例如,'560134275538747403'
会给你0
,'411510958020624384'
会给你1
,而且.
怎么做?~和。
发布于 2019-08-08 09:25:41
你可以用回调的方式接收Array#findIndex
。
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
发布于 2019-08-08 09:41:28
您可以使用Array.prototype.reduce
创建一个映射--使用您的字符串值作为键,使用它的索引号作为值。就像这样:
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']);
https://stackoverflow.com/questions/57417739
复制相似问题