How to convert an Object {} to an Array [] of key-value pairs in JavaScript

前端 未结 18 2205
名媛妹妹
名媛妹妹 2020-11-22 12:58

I want to convert an object like this:

{\"1\":5,\"2\":7,\"3\":0,\"4\":0,\"5\":0,\"6\":0,\"7\":0,\"8\":0,\"9\":0,\"10\":0,\"11\":0,\"12\":0}

18条回答
  •  [愿得一人]
    2020-11-22 13:16

    With lodash, in addition to the answer provided above, you can also have the key in the output array.

    Without the object keys in the output array

    for:

    const array = _.values(obj);
    

    If obj is the following:

    { “art”: { id: 1,  title: “aaaa” }, “fiction”: { id: 22,  title: “7777”} }
    

    Then array will be:

    [ { id: 1, title: “aaaa” }, { id: 22, title: “7777” } ]
    

    With the object keys in the output array

    If you write instead ('genre' is a string that you choose):

    const array= _.map(obj, (val, id) => {
        return { ...val, genre: key };
      });
    

    You will get:

    [ 
      { id: 1, title: “aaaa” , genre: “art”}, 
      { id: 22, title: “7777”, genre: “fiction” }
    ]
    

提交回复
热议问题