Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据数组项对象属性值查找数组的索引值_Javascript_Arrays_Object - Fatal编程技术网

Javascript 根据数组项对象属性值查找数组的索引值

Javascript 根据数组项对象属性值查找数组的索引值,javascript,arrays,object,Javascript,Arrays,Object,我这里有一个数组(stressValues): 我想根据其中一个包含对象的属性名查找数组索引值,例如angeredoutsidecontrol,它将返回0 我怎样才能做到这一点 这就是我到目前为止所做的: for(const value of values) { const stressValue = Object.values(value)[0]; const valueName = Object.keys(value)[0]; for (const name in stress

我这里有一个数组(stressValues):

我想根据其中一个包含对象的属性名查找数组索引值,例如angeredoutsidecontrol,它将返回0

我怎样才能做到这一点

这就是我到目前为止所做的:

for(const value of values) {
  const stressValue = Object.values(value)[0];
  const valueName = Object.keys(value)[0];

  for (const name in stressValues) {
    if (name === valueName) {
      console.log(name);
      console.log(values.indexOf(name)); // trying to get it to return 0
    }
  }
}
const arr=[{angeredoutsidecontrol:1},{difficultiespileup:2}];
功能检查叉键(arr,键){
//循环阵列
对于(设i=0;i
const arr=[{angeredoutsidecontrol:1},{difficultiespileup:2}];
功能检查叉键(arr,键){
//循环阵列
对于(设i=0;iconsole.log('difficultiespileup',checkForKey(arr,'difficultiespileup')如果对象始终只有一个属性,则可以使用:
var-stressValues=[{angeredoutsidecontrol:1},{difficultiespileup:2}];
var angerIndex=stressValues.findIndex((值)=>Object.keys(值)[0]==='angeredoutsidecontrol');

console.log(angerIndex)如果对象始终只有一个属性,则可以使用:
var-stressValues=[{angeredoutsidecontrol:1},{difficultiespileup:2}];
var angerIndex=stressValues.findIndex((值)=>Object.keys(值)[0]==='angeredoutsidecontrol');

console.log(angerIndex)arr.map((e,i)=>{e.index=i;return e})
你能说明你为实现目标做了什么吗?你尝试过什么吗?另外,如果数组包含多个具有相同属性名的对象,该怎么办。你是返回所有索引还是只返回一个?
arr.map((e,i)=>{e.index=i;return e})
这假设每个对象只有一个键/值对。是的,它只在这种情况下有效。我可以通过编程使用Neal的解决方案来实现我想要的,但感谢你的回答。@AnthonyMayfield我用一个更通用的解决方案编辑了我的答案。可能对您有用这假设每个对象只有一个键/值对。是的,它只在这种情况下有效。我可以通过编程使用Neal的解决方案来实现我的目标,但感谢您的回答。@AnthonyMayfield我用更通用的解决方案编辑了我的答案。也许对你有用完美,我也非常接近。非常感谢,当我有能力的时候,我会接受这个答案。太好了,我也非常接近了。非常感谢,当我有能力的时候,我会接受这个答案。
for(const value of values) {
  const stressValue = Object.values(value)[0];
  const valueName = Object.keys(value)[0];

  for (const name in stressValues) {
    if (name === valueName) {
      console.log(name);
      console.log(values.indexOf(name)); // trying to get it to return 0
    }
  }
}