简体   繁体   English

JSON数组值以分隔JavaScript中的列表

[英]JSON array values to separate lists in javascript

I've a question about converting a JSON array. 我有一个关于转换JSON数组的问题。 Been stuck a couple of hours, can't figure it out. 被困了几个小时,无法解决。 I've got a JSON array like this: 我有一个像这样的JSON数组:

[
  {
    "id": 1,
    "client": "Marcel",
    "starttime": "15:00:00",
    "endtime": "21:00:00",
    "date": "22-09-2017",
    "weeknumber": 38,
    "zipcode": "3831BC",
    "housenumber": 2,
    "hncharacter": "",
    "place": "Leusden",
    "Salary": 135.13
  },
  {
    "id": 2,
    "client": "Peter",
    "starttime": "13:00:00",
    "endtime": "19:30:00",
    "date": "23-09-2017",
    "weeknumber": 38,
    "zipcode": "3831BC",
    "housenumber": 2,
    "hncharacter": "",
    "place": "Leusden",
    "Salary": 194.87
  },
  {
    "id": 3,
    "client": "Marcel",
    "starttime": "01:45:00",
    "endtime": "09:00:00",
    "date": "24-09-2017",
    "weeknumber": 38,
    "zipcode": "3831BC",
    "housenumber": 2,
    "hncharacter": "",
    "place": "Leusden",
    "Salary": 252.01
  }
]

And I try to have for each object a separate list. 而且,我尝试为每个对象提供一个单独的列表。 so for the first object: 所以对于第一个对象:

list1 = [1, "Marcel", "15:00:00", "21:00:00", "21-09-2017", 38, "3831BC", 2, "", "Leusden", 135.13]

I tried this: 我尝试了这个:

$.get("restservices/salaries", function(data) {
    for (var i = 0; i < data.length; i++) {
        a.push(data[i].client);
        console.log(a);
    }
})

But that puts the values of all objects in 1 list, the output is 但这会将所有对象的值放在1个列表中,输出为

["Marcel", "Peter", "Marcel"]

But what I want is: 但是我想要的是:

["Marcel"]
["Peter"]
["Marcel"]

You should use Object.values method in order to obtain a simple solution for your requirement. 您应该使用Object.values方法以获得针对您的需求的简单解决方案。

array=array.map(function(item){
   return Object.values(item);
});

 let array=[ { id: 1, client: "Marcel", starttime: "15:00:00", endtime: "21:00:00", date: "22-09-2017", weeknumber: 38, zipcode: "3831BC", housenumber: 2, hncharacter: "", place: "Leusden", Salary: 135.13 }, { id: 2, client: "Peter", starttime: "13:00:00", endtime: "19:30:00", date: "23-09-2017", weeknumber: 38, zipcode: "3831BC", housenumber: 2, hncharacter: "", place: "Leusden", Salary: 194.87 }, { id: 3, client: "Marcel", starttime: "01:45:00", endtime: "09:00:00", date: "24-09-2017", weeknumber: 38, zipcode: "3831BC", housenumber: 2, hncharacter: "", place: "Leusden", Salary: 252.01 }]; array=array.map(function(item){ return Object.values(item); }); console.log(array); 

You can try this also. 您也可以尝试一下。

    let users = [{"id": 1,"client": "Marcel","starttime": "15:00:00","endtime": "21:00:00","date": "22-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 135.13},
    {"id": 2,"client": "Peter","starttime": "13:00:00","endtime": "19:30:00","date": "23-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 194.87},
    {"id": 3,"client": "Marcel","starttime": "01:45:00","endtime": "09:00:00","date": "24-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 252.01}]
function demo() {
    let result = [];
    for (let index = 0; index < users.length; index++) {
        let details = [];
        for (let key of Object.keys(users[index])) {
            details.push(users[index][key])
        }
        result.push(details);
    }
    console.log(result);
}
demo();


  
 
  
  
  
    let users = [{"id": 1,"client": "Marcel","starttime": "15:00:00","endtime": "21:00:00","date": "22-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 135.13},
        {"id": 2,"client": "Peter","starttime": "13:00:00","endtime": "19:30:00","date": "23-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 194.87},
        {"id": 3,"client": "Marcel","starttime": "01:45:00","endtime": "09:00:00","date": "24-09-2017","weeknumber": 38,"zipcode": "3831BC","housenumber": 2,"hncharacter": "","place": "Leusden","Salary": 252.01}]
    function demo() {
        let result = [];
        for (let index = 0; index < users.length; index++) {
            let details = [];
            for (let key of Object.keys(users[index])) {
                details.push(users[index][key])
            }
            result.push(details);
        }
        console.log(result);
    }
    demo();

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

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