简体   繁体   English

切片阵列并从中生成 object

[英]Slicing an Array and producing an object from it

I have an array and it looks as follow:我有一个数组,它看起来如下:

[
    {
        "DT_RowId": "row_4758",
        "companies": {
            "id": 23,
            "email": null,
            "name": "test"
        },
        "USERS": {
            "UserId": 23
        }
    },.....
]

How do I slice it and get only "companies": and the result as follows:我如何对其进行切片并仅获得“公司”:结果如下:

[
    {
        "id": 23,
        "email": null,
        "name": "test"
    },.....
]

to clear some issues I have added the function in which I'm using data.map为了解决一些问题,我添加了 function 我在其中使用 data.map

fn.loadData = function (data) {
                    var dataKeys = Object.keys(data);
                 console.log(data)// 'data' is an object
                    console.log(data.map(x => x.companies)) ///data.map not a function error
                    var infiniteList = document.getElementById('infinite-list');

                    infiniteList.delegate = {
                        createItemContent: function (i) {
                            return ons._util.createElement(
                                '<ons-list-item modifier="chevron" tappable>' + data[dataKeys[i]].name + '</ons-list-item>'
                            );
                        },
                        countItems: function () {
                            return Object.keys(data).length;
                        }
                    };

                    infiniteList.refresh();
                }

as comments told you to do:正如评论告诉你的那样:

 const data = [ { "DT_RowId": "row_4758", "companies": { "id": 23, "email": null, "name": "test" }, "USERS": { "UserId": 23 } }, { "DT_RowId": "row_3758", "companies": { "id": 24, "email": null, "name": "test3" }, "USERS": { "UserId": 24 } },] console.log(data.map(obj=>obj.companies))

This worked:这有效:

const newArray = [];
for (let i = 0; i < companyArray.length; i++) {
       newArray.push(companyArray[i].companies);
}

Thanks, everyone感谢大家

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

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