将对象的所有键或值作为数组返回的函数

时间:2016-12-15 12:09:20

标签: javascript arrays function object key-value

我需要创建一个getObjectData()函数,它根据参数返回一个对象的所有键或值的数组。

如果字符串values作为第二个参数传递,它将返回对象(obj)的值,如果传递字符串keys,则必须返回键。

var person = {
    firstName: 'Bill',
    surname: 'Bradley',
    age: 27
};

var pet = {
    animal: 'Dog',
    breed: 'Terrier',
    colour: 'Brown"
};

2 个答案:

答案 0 :(得分:3)

您不需要此功能。

使用Object.keys检索密钥,使用Object.values获取值。后者尚未普遍支持,但填充容易:

Object.values = Object.values || (o => Object.keys(o).map(k => o[k]));

docdoc

答案 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