我需要创建一个getObjectData()
函数,它根据参数返回一个对象的所有键或值的数组。
如果字符串values
作为第二个参数传递,它将返回对象(obj)的值,如果传递字符串keys
,则必须返回键。
var person = {
firstName: 'Bill',
surname: 'Bradley',
age: 27
};
var pet = {
animal: 'Dog',
breed: 'Terrier',
colour: 'Brown"
};
答案 0 :(得分:3)
您不需要此功能。
使用Object.keys
检索密钥,使用Object.values
获取值。后者尚未普遍支持,但填充容易:
Object.values = Object.values || (o => Object.keys(o).map(k => o[k]));
答案 1 :(得分:1)
var person = { firstName: 'Bill', surname: 'Bradley', age: 27 };
var pet = { animal: 'Dog', breed: 'Terrier', colour: 'Brown' };
function keysOrValues(o, str) {
switch(str) {
case 'keys':
return Object.keys(o);
case 'values':
return Object.values(o);
}
}
console.log(keysOrValues(person, 'keys'));
console.log(keysOrValues(person, 'values'));

您可能需要填充Object.values
。