首页 > 解决方案 > 如何遍历多个对象并将键值与字符串进行比较

问题描述

我正在尝试遍历多个对象并将每个 date_created 键值与一个字符串进行比较。这些对象来自一个数组,我可以映射并输出结果如下:一旦我遍历每个单独的对象,如果 date_created 键值等于我的字符串,我想将它们推送到一个数组。

我已经提供了有关我当前如何检索对象的示例,我只想知道如何循环/迭代每个对象并将键值与我的字符串进行比较。

最初返回的数据

(14) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
  0: {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
  date_created: "2020-08-10 01:28:59", date_updated: "X", …}

  1: {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
  date_created: "2019-11-08 02:56:03", date_updated: "X", …}

  2: {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
  date_created: "2019-10-09 15:05:16", date_updated: "X", …}
)

渲染对象列表的代码(映射最初返回的数据以将对象拉出数组)

如果这是最初获取我的对象的错误方法,请建议一种更有效的方法。

resData.map(result => {
  console.log(result);
});

对象数组映射结果:

{4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
date_created: "2020-08-10 01:28:59", date_updated: "X", …}

{4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
date_created: "2019-11-08 02:56:03", date_updated: "X", …}

{4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
date_created: "2019-10-09 15:05:16", date_updated: "X", …}

标签: javascriptarraysobject

解决方案


我希望这有帮助。但不要忘记Array.map返回数组。

资源

const wantedDate = "2020-08-11 01:28:59";
const newArr = [];

const arr = [
  {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
  date_created: "2020-08-10 01:28:59", date_updated: "X"},
  {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
  date_created: "2020-08-11 01:28:59", date_updated: "X"},
  {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X", post_id: "X", 
  date_created: "2020-08-10 01:28:59", date_updated: "X"}
]

arr.map((values) => {
  if(values.date_created === wantedDate) {
    newArr.push(values);
  }
})

console.log(newArr);


推荐阅读