3 回答
TA贡献1836条经验 获得超3个赞
请参考下面的例子......
const obj1 = {
a:'hello',
b:25,
c:['apple','mango']
};
的console.log(Object.values(OBJ1)); // Array ['hello',25,Array ['apple','mango']]
console.log(Object.keys(obj1)); //数组['a','b','c']
所以在你的情况下,
如果你使用像Object.values(item)
// item必须是对象
如果你使用像Object.values(item[key])
// item [key]必须是对象
如果你使用像Object.values(item[0])
// item [0]必须是对象
因此,Object.values()或Object.keys()内部的任何内容都必须是对象
所以item[key]
或item[0]
必须
在你的代码中评估对象,它只评估undefined
错误发生
TypeError:undefined不是对象(评估Object.keys(item [key]))
TypeError:undefined不是对象(评估Object.keys(item [0]))
根据您的需要,现在您需要使用以下其中一项:
Object.values(item)[0]
或Object.values(item)[1]
(静态)Object.values(item).filter((val,ind) => {})
(基于条件)Object.values(item).map((val,ind) => {})
(如果你想全部使用)
希望这个详细解释可以帮到你。
TA贡献1982条经验 获得超2个赞
您可以使用object.keys获取特定对象的键
该Object.keys() ,因为我们有一个正常的循环get方法返回给定对象本身的属性名称的数组,以相同的顺序。
const object1 = {
a: 'somestring',
b: 42,
c: false
};
console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]
添加回答
举报