function getBasket() {
var basketItems = [];
$().SPServices({
operation: "GetListItems",
async: false,
webURL: "sites/230080/TEST/",
listName: "Basket",
CAMLViewFields: "
<ViewFields><FieldRef Name='Title' /><FieldRef Name='Item' /></ViewFields>",
CAMLQuery: "<Query><Where><Eq><FieldRef Name='Author' /> <Value Type='Integer'>
<UserID /></Value></Eq></Where></Query>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
basketItems.push($(this).attr("ows_Item")); //Adds the items to an array
});}
});
}
Я в основном хочу иметь возможность перечислять уникальные элементы в массиве и отображать количество раз, когда элемент был добавлен в корзину
Поэтому, если бы у меня было
1
1
2
3
3
Я бы хотел, чтобы результат был
| Item | Quantity |
--------------------
| 1 | 2 |
| 2 | 1 |
| 3 | 2 |
Пожалуйста, посоветуйте, как я буду добиваться этого. заранее спасибо
Это то, что вы ищете?
Я принял значения, которые вы опубликовали.
var result = [1, 1, 2, 3, 3];
var basketItems = [];
$.each(result, function (i, item) {
var current = basketItems[item] || 0;
basketItems[item] = current +1;
});
console.log(basketItems);