为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript访问二维数组

Javascript访问二维数组

波斯汪 2022-11-27 16:35:23
我有以下数组var array = [["ABC", "123"], ["DEF", "456"];如果我寻找“ABC”,我怎样才能得到“123”?我试过了array["ABC"][1] //Want Output: 123array["DEF"][1] //Want Output: 456
查看完整描述

5 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

你可以使用Array#find

var array = [["ABC", "123"], ["DEF", "456"]];

let abc = array.find(x=>x[0]==="ABC");

console.log(abc?.[1]);

let def = array.find(x=>x[0]==="DEF");

console.log(def?.[1]);

let nothing = array.find(x=>x[0]==="NOTHING");

console.log(nothing?.[1]);


但是,使用对象或Map更适合此目的。您可以使用 将数组转换为对象Object.fromEntries


var array = [["ABC", "123"], ["DEF", "456"]];

const obj = Object.fromEntries(array);

console.log(obj.ABC);

console.log(obj['DEF']);

您也可以将数组传递给Map构造函数。Map如果您总是想保留插入顺序,s 会更好。


var array = [["ABC", "123"], ["DEF", "456"]];

const map = new Map(array);

console.log(map.get("ABC"));

console.log(map.get("DEF"));


查看完整回答
反对 回复 2022-11-27
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

你试图做的事情是不可能使用数组的,你不能使用:

array["ABC"]

由于数组的索引是基于数字的,因此您需要使用对象才能获得所需内容:

var array = {"ABC": ["123", "789"], "DEF": ["456", "323"]};

现在您可以根据需要选择它们:

array['ABC'][1] // 123


查看完整回答
反对 回复 2022-11-27
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

您可以使用map


const array = [["ABC", "123"], ["DEF", "456"]];

const newMap = new Map();

array.map(item=>{

  newMap[item[0]] = item;

})

console.log(newMap['ABC'][1]);


查看完整回答
反对 回复 2022-11-27
?
守着一只汪

TA贡献1872条经验 获得超3个赞

您可以使用find来定位值为 index 的项目0。如果找到,返回 index 处的值1。


const findByFirstValue = (arr, val) =>

  ((res) => res ? res[1] : null)(arr.find(v => v[0] === val))


console.log(findByFirstValue([["ABC", "123"], ["DEF", "456"]], 'ABC'))

.as-console-wrapper { top: 0; max-height: 100% !important; }


查看完整回答
反对 回复 2022-11-27
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

您可以使用索引从数组中获取值


//first level

// array[0] =>["ABC", "123"]

// array[1] => ["DEF", "456"]


//second level 

// array[0][0]=> "ABC"

// array[0][1]=>  "123"

您也可以使用map 或 foreach 之类的方法


查看完整回答
反对 回复 2022-11-27
  • 5 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信