如何在 push 方法时切片对象

How to slice an object while push method

我正在尝试将看起来像 1012410001input[i].id 分割成 101241 (slice(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 } ]

我不明白为什么不:

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

当然,您可以在推送中执行此操作。

你也可以做一张地图(假设你使用的是 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;
}