如何遍历对象,然后获取IndexOf字符串(例如A,B ..),然后在A = 1,b = 2时转换为值

时间:2018-08-22 20:57:58

标签: javascript object prototype

var graph= {
node: [
  { id:"A",  
    name:"A" 
  },
  { id:"B",  
    name:"B" 
  }
]
}

var yourInput = document.getElementById("vertext").value
// The user inputs A or B..

var convertToInt = graph.node.indexOf(yourInput)+1;
// I am always getting 0 ..

我的解决方案:我遍历图节点对象,检查输入的indexOf是否为A,B ..,然后根据对象数组中存在的IndexOf字母将用户输入转换为整数值。

请有人可以解释我在这里做错了吗??

1 个答案:

答案 0 :(得分:1)

由于要针对每个数组元素的属性检查值,因此Array.findIndex是合适的工具,而不是Array.indexOf。

=LookUp(Fields!SKU.Value,
Fields!ItemCode.Value, 
Fields!Store.Value, "DataSet3")

内部函数根据yourInput检查每个数组元素的id属性。您可以轻松地对其进行修改,以改为检查name属性,或者进行您可以想到的任何比较。

var convertToInt = graph.node.findIndex(e => e.id == yourInput) + 1;
var graph = {
  node: [{
      id: "A",
      name: "A"
    },
    {
      id: "B",
      name: "B"
    }
  ]
}

document.getElementById("vertext").onchange = function() {
  var yourInput = document.getElementById("vertext").value
  // The user inputs A or B..
  var convertToInt = graph.node.findIndex(e => e.id == yourInput) + 1;
  document.getElementById("output").textContent = convertToInt;
};