Я обрисовал jquery, который выглядит так
var occupy = [{apx: "45.406/19.292", id: 1},{apx: "45.406/19.292", id: 2},...]
И мне нужно извлечь все идентификаторы, у которых одинаковые apx.
вы можете использовать чистый javascript для этого, что-то вроде этого:
var occupy = [{apx: "45.406/19.292", id: 1},{apx: "45.406/19.292", id: 2}];
var result = [];
for (var idx = 0; idx < occupy.length; idx++){
var key = occupy[idx].apx;
if (!result[key]){
result[key] = [];
}
result[key].push(occupy[idx].id);
}
console.log(result);
объект result
будет содержать массивы id
сгруппированные по их apx
.
jsfiddle: http://jsfiddle.net/C7szw/ (вам нужно посмотреть окно консоли, чтобы увидеть result
)
Попробуй это..
<script>
var occupy = [{apx: "45.406/19.292", id: 1},{apx: "45.406/19.292", id: 2}];
var apx =[]
$.each(occupy, function (index, item) {
if(apx.indexOf(item["apx"])==-1)
apx.push(item["apx"]);
});
var ids =[];
var temp;
$.each(occupy, function (i, item) {
var it = item;
$.each(apx,function(j,a){
if(a===item["apx"])
return ids.push(occupy[i]["id"]);
});
});
</script>
Массив ids будет иметь новый массив ur.
Вот пример использования jquery grep:
var test1=[{apx: "45.406/19.292", id: 1},{apx: "45.406/19.292", id: 2},{apx: "45.406/19.300", id: 3}]
var found;
found= $.grep(test1,function(o,i)
{
for(var ii=0;ii< test1.length;ii++)
{
return o.apx == test1[ii].apx;
}
})
console.log(found);