我遇到了一个奇怪的错误。我得到.splice不是控制台中的一个函数,但实际上,我在数组上做了.splice(这是有效的)。而且,它并不总是出错。当我刷新页面时,有时我会得到它,有时候,我没有得到它。我不明白为什么。你能解释一下我的错误,我在这里做错了什么?
编辑:我忘了在我的变量数组声明(var ... = [])和我的jQuery.getJSON之间提到,我在我的变量(整数)中添加了东西。这就是我使用拼接的原因。我想用JSON中的新项目来命令我的数组。此外,所有数组都包含相同数量的元素。我总是在每个数组中添加相同数量的元素。这是我有问题的代码:
var HeightLegs = [];
var IdLegs = [];
var PriceLegs = [];
var QuantityLegs = [];
jQuery.getJSON('/products/legs.js', function (product)
{
for (var i = 0; i < product.variants.length; i++)
{
var indexToAdd = 0;
while (indexToAdd < HeightLegs.length && HeightLegs[indexToAdd] < +(product.variants[i].option1.replace('"', '')))
{
indexToAdd++;
}
IdLegs.splice(indexToAdd, 0, product.variants[i].id);
HeightLegs.splice(indexToAdd, 0, +(product.variants[i].option1.replace('"', '')));
PriceLegs.splice(indexToAdd, 0, product.variants[i].price / 100);
if (product.variants[i].inventory_policy == "continue")
QuantityLegs.splice(indexToAdd, 0, 1);
else {
// MY ERROR IN THE CONSOLE IS ON THIS SPLICE ONLY!!!!
QuantityLegs.splice(indexToAdd, 0, product.variants[i].inventory_quantity);
}
}
});
我不明白的是错误并不是一成不变的。有时我会得到它,有时我不会...
感谢您的帮助!
答案 0 :(得分:0)
根据上述评论:
ever
之类的错误意味着what
已定义,但方法results = searcher.search(query)
for hit in results:
print("the Score", hit.score)
print("the rank", hit.rank)
print("the document number", hit.docnum)
未绑定到此对象。它只会导致两件事(如果我知道的话):
a)方法拼写错误的名称({{1}})
b)错误类型的对象/类({{1}})
在这种情况下,出现错误,因为var ShopifyQuantityLegs被意外设置为Number(ShopifyQuantityLegs = 1)所以b)是线索