Javascript - цикъл през обект въз основа на променливата qty

По-рано зададох подобен въпрос (макар и малко по-различен).

Основно използване на jsfiddle тук http://jsfiddle.net/WTMBA/

Бих искал да премина през обекта и въз основа на броя на променливите qty да премина и да добавя стойностите на обекта към масив.

e.g

[Object { url="http://domain.com/abc", qty="1", price="2.99" }, Object { url="http://myurl.com/cde", qty="3", price="64.11" }]

Функцията quantify() трябва да върне това като масив с 4 елемента, тъй като първият елемент в обекта има qty стойност 1, а втората стойност има количество 3 (1+3)

Върнатият масив от функцията за количествено определяне трябва да бъде структуриран така, че да включва условието, URL адреса и цената (вижте цигулката)

Може ли някой да предложи как трябва да редактирам функцията за количество, за да направя това?


person Zabs    schedule 21.11.2013    source източник
comment
Значи искате да продължите да добавяте един и същ обект към масив въз основа на променливата qty? напр. qty = 10, добавете един и същ елемент 10 пъти? Ако случаят е такъв, опитайте това. jsfiddle.net/denniswaltermartinez/apH9H   -  person Dennis Martinez    schedule 21.11.2013
comment
изглежда добре.. ще го проверя   -  person Zabs    schedule 21.11.2013
comment
Ако добавите това към „Отговор на вашето Q“, ще приема :)   -  person Zabs    schedule 21.11.2013


Отговори (1)


Ако се опитвате да добавяте един и същ обект отново и отново към масив въз основа на променливата qty на обекта, можете да използвате вложени цикли, за да постигнете това.

var products = [{
    url: 'http://domain.com/abc',
    qty: 1,
    price: 2.99
}, {
    url: 'http://myurl.com/cde',
    qty: 3,
    price: 64.11
}];

var i = 0,
    l = products.length,
    cart = [];

for (; i < l; i++) {
    var product = products[i];

    for (var x = 0; x < product.qty; x++)
        cart.push(product);
}

Вижте следния JSFiddle за пълен пример.

person Dennis Martinez    schedule 21.11.2013