【问题标题】:How do I write a function that returns an array containing object keys in Javascript? [duplicate]如何编写一个函数来返回包含 Javascript 中对象键的数组? [复制]
【发布时间】:2018-04-17 10:46:56
【问题描述】:
var person = {
  firstName: 'Halle',
  lastName: 'Berry',
};

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

names(person);

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

【问题讨论】:

  • function what() {} 声明在哪里?该程序目前正在做什么,它与您期望的有什么不同?
  • 欢迎来到 Stack Overflow。请收下tour 并阅读How to Ask
  • 缺少return 声明,what 声明在哪里?
  • 你能告诉我们这是什么语言吗(最好是editing你的问题并添加正确的标签)?
  • 对不起,我是想在调用函数时输入名称。我编辑了它。

标签: javascript arrays function loops object


【解决方案1】:

Object#keys 让这一切变得简单:

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

编辑:通过澄清问题(谢谢!)和收到的 cmets,实现很接近:它缺少返回语句。包含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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 2018-12-29
    • 1970-01-01
    • 2019-01-19
    • 2016-04-11
    • 2020-03-04
    相关资源
    最近更新 更多