Javascript 比较两个对象的值和键

Javascript 比较两个对象的值和键,javascript,Javascript,我有两个目标: Obj1={ 0:“AS1”, 1:“AS2”, 2:“AS3” } Obj2={ AS1:“哈尼语” AS2:“乔” } 我想将Obj1的值与Obj2的键进行比较,然后打印Obj2值。我不确定您想要实现什么,但您可以像这样访问所需的值: 让Obj1values=Object.values(Obj1) console.log(Obj1values) 让Obj2Keys=Object.keys(Obj2) console.log(Obj2Keys)您可以获取一个值为obj1的数组

我有两个目标:

Obj1={
0:“AS1”,
1:“AS2”,
2:“AS3”
}
Obj2={
AS1:“哈尼语”
AS2:“乔”
}

我想将
Obj1
的值与
Obj2
的键进行比较,然后打印
Obj2
值。

我不确定您想要实现什么,但您可以像这样访问所需的值:

让Obj1values=Object.values(Obj1)

console.log(Obj1values)

让Obj2Keys=Object.keys(Obj2)


console.log(Obj2Keys)

您可以获取一个值为
obj1
的数组,并对
obj2
的键进行迭代

var obj1={0:AS1',1:AS2',2:AS3},
obj2={AS1:“哈尼”,AS2:“乔”},
结果=Object.assign([],obj1).map(在obj2中k=>k?obj2[k]:null);

控制台日志(结果)这本质上等同于Excel的VLOOKUP函数(无精确匹配选项)

按当前
用户
的值搜索源对象,并返回
名称
值。因为这是一个标量值,所以不需要字段/索引

const lookup=(值、源、字段)=>{
返回((匹配)=>{
返回match&&field?match[field]:match | | null;
})(来源[价值]);
}
让用户={
0:“AS1”,
1:“AS2”,
2:“AS3”
}
让名称={
AS1:“哈尼”,
AS2:“乔”
}
console.log(Object.keys(Users.map)(id=>{
返回查找(用户[id],名称);
}));

作为控制台包装{top:0;最大高度:100%!important;}
这是否回答了您的问题?什么是比较?@NinaScholz我有表,我想打印Obj2中的所有值取决于Obj1中的键这就像Excel中的VLookup。很好地使用
对象。分配
+1如何返回Obj1中的所有值以及Obj2中的名称(返回)请,在上面的示例中,我应该返回3个值Hani,Joe,Null什么是返回?对于
未定义的
属性,是否需要一个带有
null
的值数组?虽然此代码可能会解决此问题,但一个好的答案还应该解释它的作用以及它的帮助方式。
let ob1 = {0: "AS1", 1: "AS2", 2: "AS3" }

let ob2 = {AS1: "Hani", AS2: "Joe" }

let ob1Vals = Object.values(ob1)
let ob2Keys = Object.keys(ob2)

console.log(ob1Vals, ob2Keys)

ob2Keys.forEach(e => {
    if(ob1Vals.includes(e)) {
        console.log(ob2[e])
    }
})