Jquery Array SPServices

0
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    |

Пожалуйста, посоветуйте, как я буду добиваться этого. заранее спасибо

Теги:

1 ответ

1
Лучший ответ

Это то, что вы ищете?

Я принял значения, которые вы опубликовали.

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);

http://jsfiddle.net/SWm2s/4/

  • 0
    Теперь мне нужно сопоставить эти значения с исходными результатами, чтобы я мог вывести массив результатов в зависимости от того, сколько раз элемент появляется
  • 0
    Не могли бы вы подробнее рассказать об этом?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню