json 我怎样才能不使用Object.keys()而只从一个对象中得到键;?

7rfyedvj  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(145)

我已经被困在一个教学练习的大部分两天,我决定我需要一些帮助。
我必须编写一个名为keys的函数,它返回对象中所有键的数组,而不使用object.keys();。
我能够非常简单地将所有内容转换为字符串,并使用object.values()打印所有内容;但是现在我想使用object.values得到的值,并且只返回键(因为现在它返回键和值,即A:1,B:2,C:3,我只想返回ABC)。
它应该返回类似['A', 'B', 'C']的数组
到目前为止,这是我一直在尝试的一个代码,请善待我,我正在尽我所能!

function keys(json) {
    var obj = JSON.parse(json);

*//My code starts here*
    const keys = Object.values(obj);
    keys.toString();
    for (const [key] of Object.Entries(obj)) {
        return(key);
    }
*//My code ends here*

}

有一些测试代码的“输入”,它们在下面,用obj表示
第一输入:

{"a":"1","b":"2","c":"3"}

第二输入:

{"first":"Matt","last":"Lane"}

第三输入:

{}
vhmi4jdf

vhmi4jdf1#

您可以使用for..in循环

function keys(json) {
  const obj = JSON.parse(json)
  const keys = []
  for (const key in obj) {
    keys.push(key)
  }
  return keys
}

console.log(keys('{"a":"1","b":"2","c":"3"}'))
console.log(keys('{"first":"Matt","last":"Lane"}'))
console.log(keys('{}'))

相关问题