如何在Javascript中编写一个返回包含对象键的数组的函数?

时间:2017-11-05 00:59:57

标签: javascript arrays function loops object

var person = {
  firstName: 'Halle',
  lastName: 'Berry',
};

function names(object){
  var arr= [];
  for (var key in object) {
    arr.push(key);
    console.log(arr)
  }
}

names(person);

这是我到目前为止所拥有的。我试图返回一个包含对象人员键的数组。

1 个答案:

答案 0 :(得分:0)

Object#keys使这很简单:

var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

编辑:通过澄清问题(谢谢!)和收到的评论,实施很接近:它缺少一个返回声明。包含hasOwnProperty是一种很好的做法,可以检查密钥是属于对象(true)还是继承(false)。

function names(object){
  var arr= [];
  for (var key in object) {
    if (object.hasOwnProperty(key)) {
      arr.push(key);
    }
  }
  return arr; // this was missing
}