【发布时间】:2017-02-08 20:24:06
【问题描述】:
我在 GTM 中使用自定义 JS 创建了一个数组,我想为其删除字符串,然后将值添加到数组中以给我一个最终值。
我的数组有以下值
Array = [ [AED1,299.00], [AED2,699.00] ]
从此,我想删除“AED”和逗号,以便留下
New_Array = [ [1299.00,], [2699.00] ]
最后,然后添加值,这样我就剩下 3998。 我想在 GTM 中捕获这个值。 但是,我的 JS 返回未定义。
我的自定义 JS
function myfunction() {
var no_products = document.querySelectorAll('span.price');
var nodearray = [].slice.call(no_products);
for (var i = 0; i < nodearray.length; i++) {
nodearray[i] = nodearray[i].replace(/,/g, '');
}
for (var i = 0; i < nodearray.length; i++) {
nodearray[i] = nodearray[i].replace('AED', '');
}
var sum = 0;
for (var i = nodearray.length; !!i--;) {
sum += nodearray[i];
}
return sum
}
使用提供的解决方案,它仍然返回“null”值。 问题似乎是由于我在开始时定义的变量“no_products”和“nodearray”造成的。
我正在尝试在我们的一个页面上捕获所有产品价格,即页面上有 2 个价格,分别是 AED1,299.00 和 AED2,699.00。
价格都有 span class="price" AED1,299.00 或 AED2,699.00。 因此,在 GTM 中,我使用 document.querySelectorAll('span.price') 以便我可以同时捕获这两个价格。 那就是“no_products”。
在捕获两个价格后,我想将它们放入一个数组中,这就是“nodearray”的第一个定义正在做的事情。 只是在 GTM 预览中查看这个,我看到它返回的值是
[[对象 HTMLSpanElement], [对象 HTMLSpanElement]]
我的定义正确吗?
【问题讨论】:
-
您的第一个
Array不正确。他们是在嵌套数组中的string吗? -
请将
AED1和AED2的值相加。
标签: javascript arrays node.js