Javascript 如果键与数组值匹配,如何获取值

Javascript 如果键与数组值匹配,如何获取值,javascript,arrays,function,object,Javascript,Arrays,Function,Object,我已经编写了一个数组,如下所示 const OBJECT = { '3': 'History And Social Sciences', '5': 'Humanities', '8': 'Global Studies And Social Impact', '10': 'Sanskrit' }; var rou=[3,5,8,10]; 我想在键与值匹配时获取字段值。有人知道吗?rou[0]是3,rou[1]是5,依此类推。您需要检查值为3的rou[0]是否是字

我已经编写了一个数组,如下所示

const OBJECT = {
    '3': 'History And Social Sciences',
    '5': 'Humanities',
    '8': 'Global Studies And Social Impact',
    '10': 'Sanskrit'
};

var rou=[3,5,8,10];

我想在键与值匹配时获取字段值。有人知道吗?

rou[0]是3,rou[1]是5,依此类推。您需要检查值为3的rou[0]是否是字典的键

您可以像这样从对象访问值

var value = OBJECT.rou[0] 

迭代“rou”数组,并为其每个值在
rou
上的对象

map
中找到相应的值,然后从该键的
对象
中获取值:

const对象={
"3":"历史和社会科学",,
"5":"人文",,
“8”:全球研究和社会影响,
‘10’:‘梵语’,
};
var rou=[3,5,8,10];
var值=rou.map(k=>OBJECT[k]);
console.log(值)
迭代器it=jsonObject.keys();
列表=新的ArrayList();
while(it.hasNext()){
int key=it.next();
列表。添加(键);
}

循环对象属性,并通过indexOf比较是否在arr中找到该键,如果找到,则获取该键的值

const OBJECT={'3':'历史和社会科学','5':'人文','8':'全球研究和社会影响','10':'梵文','a':'abc';
var rou=[3,5,8,10];
for(对象中的var属性){
if(OBJECT.hasOwnProperty(property)和&rou.indexOf(parseInt(property))!=-1){
log(对象[属性]);
}
}
使用,更简单

R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}
R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}
如果您感兴趣,请查看其

const对象={
"3":"历史和社会科学",,
"5":"人文",,
“8”:全球研究和社会影响,
“10”:“梵语”
};
var rou=[3,5,8,10];
var res=Object.keys(Object.reduce)(acc,cur)=>rou.indexOf(parseInt(cur))!=-1?(acc.push(Object[cur]),acc:acc,[]

console.log(res)
这个问题是针对Javascript而不是Java提出的。请提供一些解释-是什么让您认为此代码解决了给定的问题?如果数组包含的值不存在于对象中,则会出现问题,它将控制台未定义。
R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}
R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}