在javascript的多维数组中获取索引
get index in multidimensional array in javascript
这个问题是使用javascript中给定字符串的值获取多维数组的索引
我试过这个答案,
var a1 = [["present",["John","Josh","Jay"]],["absent",["May","Mary","Mary Jane"]]],
a2 = [["J",["John","Josh","Jay"]],["M",["May","Mary","Mary Jane"]],["S",["Sally","Sam","Sammy Davis"]]],
getStatus = (a,n) => a.find(e => e[1].indexOf(n) !== -1)[0],
getIndex = (a,n) => a.findIndex(e => e[1].indexOf(n) !== -1);
console.log(getStatus(a1,"Mary"));
console.log(getIndex(a2,"Sammy Davis"));
这是工作,但有问题。如果给定的字符串不在数组中怎么办?如何处理呢?如何得到所有的索引,如果有一个以上的索引有给定字符串的值?
例如,在a1中,
var a1 = ["present",["John","Josh","Jay"]],["absent",["May","Josh","Mary Jane"]]]
如何得到0,1?使用getIndex () ?
我不得不同意@Rob M。但是你仍然可以这样做;
var a1 = [["present",["John","Josh","Jay"]],["absent",["May","Mary","Mary Jane"]]],
a2 = [["J",["John","Josh","Jay"]],["M",["May","Mary","Mary Jane"]],["S",["Sally","Sam","Sammy Davis"]]],
getStatus = (a,n) => a.find(e => e[1].indexOf(n) !== -1)[0],
getIndex = (a,n) => { var x = -1;
return [a.findIndex(e => (x = e[1].indexOf(n), x !== -1)),x];
};
console.log(getIndex(a2,"May"));
console.log(getIndex(a2,"Sammy Davis"));
console.log(getIndex(a2,"Daniel"));
相关文章:
- 对于关于es6-获取索引如何
- AngularJS ng选项获取索引
- Javascript点击即可获取索引
- 按值获取索引
- 在Chrome上获取z索引值时存在差异
- 循环对象以获取索引值
- 快速从 2D 数组获取索引,无需迭代 jquery
- 无法从循环数据属性的内容中获取索引的值
- 在 JavaScript 数组中按值获取索引
- 获取索引处字符的 ANSI 颜色
- 我知道如何获取 z 索引,但是有没有办法在页面上获取绝对 Z(数字,而不是 AUTO)
- 使用自定义Knockout映射时获取索引值
- 如何在不计算隐藏元素的情况下获取索引
- 正在从对象获取索引
- 如何从父元素获取索引值
- 从多维数组中获取索引
- 如何检测当前输入文本'使用jquery从输入文本数组中获取s索引
- 如何获取索引元素
- 在javascript的多维数组中获取索引
- 在javascript foreach循环中获取索引