简体   繁体   English

将对象键的值推送到数组中

[英]Push objects keys' values into an array

I have an object like this:我有一个像这样的 object:

{
  "PAV-001": {
    "09SGH6eBNbRpFw9WnHdQO1mYcku1": {},
    "09SGH6eBNbRpFw9WnHdQO1mYcku2": {},
    "09SGH6eBNbRpFw9WnHdQO1mYcku4": {},
    "09SGH6eBNbRpFw9WnHdQO1mYcku5": {}
  },
  "P-001": {
    "09SGH6eBNbRpFw9WnHdQO1mYcku1": {}
  },
  "PAV-002": {
    "09SGH6eBNbRpFw9WnHdQO1mYcku1": {},
    "09SGH6eBNbRpFw9WnHdQO1mYcku3": {},
    "09SGH6eBNbRpFw9WnHdQO1mYcku4": {},
    "09SGH6eBNbRpFw9WnHdQO1mYcku6": {}
  }
}

I want to store PAV-001's values(like:"09SGH6eBNbRpFw9WnHdQO1mYcku1" these) into an array, I tried: arr1.push(Object.keys(data[value])) But it doesn't work, how to address this issue?我想将 PAV-001 的值(如:“09SGH6eBNbRpFw9WnHdQO1mYcku1”这些)存储到一个数组中,我试过: arr1.push(Object.keys(data[value]))但它不起作用,如何解决这个问题? Thanks!谢谢!

You can spread the the array obtained by Object.keys method and pass that to push method of the array like您可以传播通过 Object.keys 方法获得的数组,并将其传递给数组的 push 方法,如

arr1.push(...Object.keys(data[value]));

or you can use Array.prototype.concat method and assign the value back to the array like或者您可以使用Array.prototype.concat方法并将值分配回数组,例如

arr1 = arr1.concat(Object.keys(data[value])); 

For values of a single key:对于单个键的值:

const object = {
    "PAV-001": {
        "09SGH6eBNbRpFw9WnHdQO1mYcku1": {},
        "09SGH6eBNbRpFw9WnHdQO1mYcku2": {},
        "09SGH6eBNbRpFw9WnHdQO1mYcku4": {},
        "09SGH6eBNbRpFw9WnHdQO1mYcku5": {}
    },
}

let myArray = []
Object.keys(object["PAV-001"]).forEach(key => myArray.push(key))

Or for the all values of all keys of object或者对于object的所有键的所有值

Object.keys(object).forEach(_object => Object.keys(object[_object]).forEach(key => myArray.push(key)))

Perhaps, you can use Object.keys() which returns an array whose elements are strings.也许,您可以使用 Object.keys() 返回一个元素为字符串的数组。 then just use map to map each key as a value to an array.然后只需使用 map 到 map 每个键作为数组的值。

 const obj = { "PAV-001": { "09SGH6eBNbRpFw9WnHdQO1mYcku1": {}, "09SGH6eBNbRpFw9WnHdQO1mYcku2": {}, "09SGH6eBNbRpFw9WnHdQO1mYcku4": {}, "09SGH6eBNbRpFw9WnHdQO1mYcku5": {} }, "P-001": { "09SGH6eBNbRpFw9WnHdQO1mYcku1": {} }, "PAV-002": { "09SGH6eBNbRpFw9WnHdQO1mYcku1": {}, "09SGH6eBNbRpFw9WnHdQO1mYcku3": {}, "09SGH6eBNbRpFw9WnHdQO1mYcku4": {}, "09SGH6eBNbRpFw9WnHdQO1mYcku6": {} } } var arr = Object.keys(obj["PAV-001"]).map((key) => key); console.log(arr)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM