Javascript 收集数组中谁';s键与映射键、值匹配

Javascript 收集数组中谁';s键与映射键、值匹配,javascript,node.js,Javascript,Node.js,我的问题是我有一个对象数组和一个键值映射,这些键值在数组中的对象中多次存在。我的最终目标是在旧数组中创建一个新的对象数组,该数组同时匹配贴图的键和值 for example: map: {{"1234", "abcd"},{"4567","efgh"}} array: [ {key: "1234", value1: "abcd"}, {key: "1234&quo

我的问题是我有一个对象数组和一个键值映射,这些键值在数组中的对象中多次存在。我的最终目标是在旧数组中创建一个新的对象数组,该数组同时匹配贴图的键和值

for example:
map: {{"1234", "abcd"},{"4567","efgh"}}

array: [
{key: "1234", value1: "abcd"}, 
{key: "1234", value1: "jhgfg"}, 
{key: "4567", value1: "efgh"}, 
{key: "4567", value1: "poiu"}]

goal: [
{key: "1234", value1: "abcd"}, 
{key: "4567", value1: "efgh"}]
我就是搞不懂语法。以下是我认为可以使用但无法使用的代码,因为它可以添加所有对象:

for (let [key, value] of dataMap.entries()) {
        for (var data in dataIn) {
          var keep = dataIn[data];
          if (keep.key === key && keep.timestamp === value) {
            endData.push(keep);
          }
        }
      }

据我所知,您需要将对象转换为对象数组。你可以这样做:

const mapOfKeysAndValues={
“1234”:“abcd”,
“4567”:“efgh”
}
const keyValuePairs=Object.entries(mapOfKeysAndValues).map(pair=>({
[对[0]]:对[1]
}))

console.log(keyValuePairs)可以通过一个简单的数组#filter()实现

常量映射={
“1234”:“abcd”,
“4567”:“efgh”
},
arr=[
{键:“1234”,值1:“abcd”},
{键:“1234”,值1:“jhgfg”},
{键:“4567”,值1:“efgh”},
{键:“4567”,值1:“poiu”}];
常量res=arr.filter(o=>map[o.key]==o.value1)

console.log(res)
您的
映射
结构中的对象无效。请提供可运行的数据