如何获取对象在数组中的位置?

时间:2019-09-01 04:02:57

标签: node.js

我正在尝试获取第一个对象的数组中的位置,以便可以使用函数将其删除。问题是:我不知道如何获取“索引”值。

{% if not data['id'].startswith('region1') %}
highstate_run:
  local.state.apply:
    - tgt: {{ data['id'] }}
{% endif %}```


  [1]: https://docs.saltstack.com/en/latest/topics/jinja/index.html

在这种情况下,我的输出为2。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下

var someObject={
"2": {
  "nome": "sou1",
  "email": "adsa@lala.com",
  "gênero": "masculino",
  "id": 1,
  "pos": 0
},
"3": {
  "nome": "sou1",
  "email": "adsa@lala.com",
  "gênero": "masculino",
  "id": 1,
  "pos": 1
}};
console.log(Object.keys(someObject)[0]);
  delete someObject[Object.keys(someObject)[0]];
  console.log(someObject);

答案 1 :(得分:0)

JSON对象中没有排序。 但是,对于您的用例(如果我正确理解的话),可以将JSON对象转换为数组,执行...

const someObject = {
    a: "A",
    b: "B",
    c: "C"
}

const keys = Object.keys(someObject);
console.log(keys); // array of keys

let arr = [];
for(key of keys) {
    arr.push(someObject[key]);
}

console.log(arr); // array of objects

...其中keys数组中元素的索引(原始JSON对象中的键)将与arr数组中元素的索引(对应的值)相同并映射到原始JSON对象中的键),从而为您提供您可能正在寻找的内容。然后,您可以使用数组索引访问它们。

希望这会有所帮助:)