Я пытаюсь суммировать цены на товары в массиве с помощью специального JS GTM. Элементы массива являются переменными. Моя переменная источника данных выглядит так:Суммировать строковые значения в массиве
dl_products_checkout = [ { name: 'Sports Gel SPF 20', id: '1125200001', price: '23.9', brand: 'ultrasun', quantity: 1 }, { name: 'Almost Powder Makeup SPF 15 9 g Neutral', id: '1081040004', price: '25.9', brand: 'Clinique', quantity: 1 } ]
К сожалению, я получаю NaN в качестве возврата. Вот мое решение:
function() {
var items = {{dl_products_checkout}};
var ids = [];
var totalValue = 0;
var i, len;
for (i = 0, len = items.length; i < len; i++) {
totalValue += parseInt(items[i].price);
}
return ids.push(totalValue);
}
Было бы здорово, если бы кто-нибудь мог сказать мне, что я здесь делаю неправильно. Большое спасибо!
С наилучшими пожеланиями, Антон
Вы уверены, что хотите добавить целые числа? и возвращает только длину массива, а не сам массив? но я не получаю 'NaN', если' {{...}} 'правильно. –
Похоже, вы возвращаете массив, а не числовое значение, которое объясняет результат NaN ... –
, если вы выполните 'parseInt ('23 .9 ')' вы получите '23' вместо' 23.9'. Вам нужен 'parseFloat'. –