当数组名称不一致时如何循环遍历对象数组?

How to looping trough an array of object when array name is not consistent?

考虑以下示例:

const obj ={
price:[{multiple items},{multiple items}],
name:"",
id:"",
}

我想在价格 属性 上申请 foreach 但问题是 属性 名称正在改变 wrt cases like saleprice , taxprice 等

如果我使用 obj.keys() 方法它不起作用,因为它 returns 键作为字符串。

你可以试试这个:

const obj = {
  price: [10, 20, 30],
  name: "",
  id: "",
};

const pricePropertyName = Object.keys(obj).find((prop) => prop.includes('price'));
if (pricePropertyName) {
  obj[pricePropertyName].forEach(el => {
    console.log(el);
  });
}
const key = Object.keys(obj).find((key) => key.indexOf('price') > -1)
obj[key].forEach(price => console.log(price))

您可以使用“Object.values()”或“Object.fromEntries()”来获取值或同时获取键和值。

const obj ={
price:[{multiple items},{multiple items}],
name:"",
id:"",
}

const priceArray = Object.values(obj).find( value => Array.isArray(value))

仅供参考

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values