如何在推送方法时切片对象

时间:2016-07-15 14:26:32

标签: javascript google-datalayer

我正在尝试将input[i].id切换为1012410001101241slice(0,6))。是否可以使用push方法对其进行切片,还是应该在之前完成?

function() {
    var input = {{dataLayer - purchase_products}};
    var products_list = [];
    for(i=0;i<input.length;i++){
        products_list.push({
            id: input[i].id,
            price: input[i].price,
            quantity: input[i].quantity
        });
    }
    return products_list;
}

dataLayer - purchase_products = [ { quantity: 1, coupon: [], name: 'Lancôme La vie est belle Eau de Parfum', id: '1012410001', price: 41.9, brand: 'Lancôme', category: 'Eau de Parfum', variant: null } ]

2 个答案:

答案 0 :(得分:0)

我不明白为什么不:

products_list.push({
        id: input[i].id.slice(0,6),
        price: input[i].price,
        quantity: input[i].quantity
});

答案 1 :(得分:0)

当然,你可以在推动中做到这一点。

你也可以做一张地图(假设你正在使用ES6):

function() {
    var input = {{dataLayer - purchase_products}};
    var products_list = input.map((item) => {
        id: item.id.slice(0,6),
        price: item.price,
        quantity: item.quantity
    });
    return products_list;
}