Javascript 将键值传递给另一个长度不同的数组

Javascript 将键值传递给另一个长度不同的数组,javascript,Javascript,嗨,我有两个数组,里面有对象。我试图将title属性的散列值传递给另一个数组的对象,该数组也有title-key-value对,但没有散列(它是一个空字符串) 诀窍在于数组是未排序的,它们具有不同的长度 这是我的代码: var res=[ [{ 标题:“时光流逝”, 搜索哈希:“ }, { 标题:“gta副城市”, 搜索哈希:“ }, { 标题:“迈阿密海滩”, 搜索哈希:“ } ], [{ 标题:“迈阿密海滩”, 搜索哈希:“12456” }, { 标题:“时光流逝”, 搜索哈希:“9876

嗨,我有两个数组,里面有对象。我试图将title属性的散列值传递给另一个数组的对象,该数组也有title-key-value对,但没有散列(它是一个空字符串)

诀窍在于数组是未排序的,它们具有不同的长度

这是我的代码:

var res=[
[{
标题:“时光流逝”,
搜索哈希:“
},
{
标题:“gta副城市”,
搜索哈希:“
},
{
标题:“迈阿密海滩”,
搜索哈希:“
}
],
[{
标题:“迈阿密海滩”,
搜索哈希:“12456”
},
{
标题:“时光流逝”,
搜索哈希:“98765”
}
]
]
对于(var i=0;i{
if(t==对象标题){
hashPass(obj[“search_hash”])
}
})
}
你是这个意思吗

var res=[
[{
标题:“时光流逝”,
搜索哈希:“
},
{
标题:“gta副城市”,
搜索哈希:“
},
{
标题:“迈阿密海滩”,
搜索哈希:“
}
],
[{
标题:“迈阿密海滩”,
搜索哈希:“12456”
},
{
标题:“时光流逝”,
搜索哈希:“98765”
}
]
]
对于(var i=0;i

var res=[
[{
标题:“时光流逝”,
搜索哈希:“
},
{
标题:“gta副城市”,
搜索哈希:“
},
{
标题:“迈阿密海滩”,
搜索哈希:“
}
],
[{
标题:“迈阿密海滩”,
搜索哈希:“12456”
},
{
标题:“时光流逝”,
搜索哈希:“98765”
}
]
]
对于(var i=0;i
var res = [
  [{
      title: "time goes by",
      searchhash: ""
    },
    {
      title: "gta vice city",
      searchhash: ""
    },
    {
      title: "miami beach",
      searchhash: ""
    }
  ],

  [{
      title: "miami beach",
      search_hash: "12456"
    },
    {
      title: "time goes by",
      search_hash: "98765"
    }
  ]

]

for (var i = 0; i < res[0].length; i++) {
  if (res[0][i].searchhash === "") {
    titlePass(res[0][i]);
  }
}

function titlePass(o) {
  res[1].forEach((obj) => {
    if (o.title === obj.title) {
      o["searchhash"] = obj["search_hash"];
    }
  })
}
var res=[
[{
标题:“时光流逝”,
搜索哈希:“
},
{
标题:“gta副城市”,
搜索哈希:“
},
{
标题:“迈阿密海滩”,
搜索哈希:“
}
],
[{
标题:“迈阿密海滩”,
搜索哈希:“12456”
},
{
标题:“时光流逝”,
搜索哈希:“98765”
}
]
]
对于(var i=0;i{
如果(o.title==对象标题){
o[“搜索哈希”]=obj[“搜索哈希”];
}
})
}
您好,请尝试以下代码

var res = [
  [{
      title: "time goes by",
      searchhash: ""
    },
    {
      title: "gta vice city",
      searchhash: ""
    },
    {
      title: "miami beach",
      searchhash: ""
    }
  ],

  [{
      title: "miami beach",
      search_hash: "12456"
    },
    {
      title: "time goes by",
      search_hash: "98765"
    }
  ]

]

for (var i = 0; i < res[0].length; i++) {
  if (res[0][i].searchhash === "") {
    titlePass(res[0][i]);
  }
}

function titlePass(o) {
  res[1].forEach((obj) => {
    if (o.title === obj.title) {
      o["searchhash"] = obj["search_hash"];
    }
  })
}
var res=[
[{
标题:“时光流逝”,
搜索哈希:“
},
{
标题:“gta副城市”,
搜索哈希:“
},
{
标题:“迈阿密海滩”,
搜索哈希:“
}
],
[{
标题:“迈阿密海滩”,
搜索哈希:“12456”
},
{
标题:“时光流逝”,
搜索哈希:“98765”
}
]
]
对于(var i=0;i{
如果(o.title==对象标题){
o[“搜索哈希”]=obj[“搜索哈希”];
}
})
}

你还没有展示你的hashPass函数-你创建了一个吗?这样做会遇到很多问题,比如,很多。不要在循环中定义函数,而是使用forEach循环数组,使用Object.keys循环对象。如果你愿意,可以给你写一个例子,但你需要弄清楚如何实现你还没有展示你的hashPass函数-你已经创建了一个吗?你用这种方法会遇到很多问题,比如,很多。不要在循环中定义函数,使用forEach来循环数组,而是使用Object.keys来循环对象。如果你想的话,可以给你写一个例子,但你需要弄清楚w使用您自己的数据来实现它。