from collections import deque
s = 'I Me You'
s_deq = deque(s.split())
s_deq.rotate(1)
print ' '.join(s_deq)
#OUT: You I Me
这实际上是angularJS,但是我正在初始化app.factory('Shop', function() {
var price = 0;
var cart = new Array();
return {
totalPrice: function() { return price; },
setTotalPrice: function(newPrice) { price = newPrice; },
addToPrice: function(addedPrice) { price += addedPrice; },
getCart: function() { return cart; },
setCart: function(c) { cart = c; for (product in cart) { if (product.price) { addToPrice(product.price); } } },
addToCart: function(product) { console.log(typeof(cart)); cart.push(product); addToPrice(product.price); },
emptyCart: function() { cart = []; }
};
});
,当我cart = new Array();
时它会记录对象。并且console.log(typeof(cart));
因错误而失败,因为它是object类型。
知道如何获得它的实际数组吗?
答案 0 :(得分:2)
cart.push因错误而失败,因为它是object类型。
那不是真的。在JavaScript typeof [] === typeof new Array() === 'object'
您的代码必须因其他原因而失败。
编辑:
错误:undefined不是一个函数(评估' cart.push(product)')是确切的错误。
这可能意味着你已经覆盖了变量cart
,而且它不再是一个数组。
setCart: function(c) { cart = c; ...
这可能是罪魁祸首吗?