Количесвто повторений
Здравствуйте. Такой вопрос - есть список товаров
Пицца "Пицца" - 500.00 р Пицца "Пицца" - 500.00 р Пицца "Пицца" - 500.00 р Пиво "Пиво" - 100.00 р Пиво "Пиво" - 100.00 р Цветок "Цветок" - 200.00 р Мне нужно получить количество одинаковых товаров и их сумму, т.е. Пицца "Пицца" 3 шт. 1500.00 р Пиво "Пиво" 2 шт. 200.00 р Цветок "Цветок" 1 шт. 200.00 р Заранее спасибо! |
Цитата:
Если этот список у тебя просто "на бумаге" JS не сможет с этим работать... :D |
valyan, вот эта статейка из букваря тебе должна помочь...
http://javascript.ru/tutorial/object/intro |
Пытаюсь сделать так
var arr = new Array(); var arr = [['Gbwwf',2], ['Gbwwf',2], ['Gbwwf',2], ['Gbdj',2], ['Gbdj',2]]; document.write(arr + '<br />'); var f = 0; var arr2 = new Array( [, ] ); for (var i=0; i<arr.length; i++) { for (var j=0; j<arr.length; j++) { if (arr[i, 0] == arr[j, 0]) { if(arr2[arr[i, 0], 0]) { arr2[arr[i, 0], 0] += 1; } else { arr2[arr[i, 0], 0] = 1; } arr.splice(j, 1) j--; } } } |
Цитата:
Объект тебе в помощь... |
var data = [ ['Пицца "Пицца"', 500.00], ['Пицца "Пицца"', 500.00], ['Пицца "Пицца"', 500.00], ['Пиво "Пиво"', 100.00], ['Пиво "Пиво"', 100.00], ['Цветок "Цветок"', 200.00] ]; var total = { }, i = data.length; while(i-- > 0) { if(data[i][0] in total) { total[data[i][0]] += data[i][1]; }else { total[data[i][0]] = data[i][1]; } } console.log(total); |
SELECT, SUM, COUNT в помощь
|
Цитата:
|
<div id="result"></div> var data = [ ['Пицца "Пицца"', 500.00], ['Пиво "Пиво"', 100.00], ['Пицца "Пицца"', 500.00], ['Цветок "Цветок"', 200.00], ['Пицца "Пицца"', 500.00], ['Пиво "Пиво"', 100.00] ]; data.sort(); for (var i = 0; i < data.length; i++) { data[i][2] = 1; } for (var i = 0; i < data.length - 1; i++) { if (data[i][0] == data[i + 1][0]) { data[i][2]++; data.splice(i + 1, 1); i--; } } //в итоге получили массив data[[имя, стоимость, количество],[имя, стоимость, количество],[имя, стоимость, количество]] //выводим var str = ''; for (var i = 0; i < data.length; i++) { str += '<li>' + data[i][0] + ': ' + data[i][2] + ' шт. x ' + data[i][1] + ' = ' + data[i][1] * data[i][2] + ' руб.</li>'; } document.getElementById('result').innerHTML = '<ul>' + str + '</ul>'; |
Часовой пояс GMT +3, время: 06:47. |