javascript - 根据 sibling 之前或之后查找项目

标签 javascript arrays json object traversal

假设我有一组这样的数据:

var nodes = [
  {
    type: 'pants',
  },
  {
    type: 'glasses',
  },
  {
    type: 'jacket'
  },
  {
    type: 'pants'
  }
]

我正在寻找一种方法来查找(返回项目)和映射(就地修改项目)type所在的项目pants 并且前面的节点有 type 等于 jacket。所以它应该只返回(或修改)这个数组中的最后一项。

有没有办法在 javascript 中做到这一点?他们有任何库允许此功能吗?

最佳答案

一个简单的 for 就可以做到:

for (var i = 0; i < nodes.length - 1; i++) {
  if (nodes[i + 1].type == "pants" && nodes[i].type == "jacket") {
    // change or modify
  }
}

关于javascript - 根据 sibling 之前或之后查找项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32770562/

相关文章:

javascript - 使用 javascript/jquery 用 html 填充 div

javascript - 如何在特定脚本上调用参数为 `findRow(s)` 的函数?

javascript - 使用 divs.Only JS 动态删除列表

java - 减去 X 时索引超出范围

mysql - 将 SQL 结果转换为 JSON 的正确方法

javascript - 使用四元数值在 A-Frame 中移动 obj

ios - 如何将查询中的数据保存在字符串数组中,Firebase iOS?

php - 如何强制 PHP 使用字符串作为数组键?

jquery - 仅使用 JQuery 更新 Twitter (OAuth)

mysql - Python 2.7、MySQL、JSON 和 DateTime - 如何删除时间戳字段中日期和时间之间的 T?