我有jQuery的編曲,看起來像這樣建立從現有陣列新數組使用jQuery
var occupy = [{apx: "45.406/19.292", id: 1},{apx: "45.406/19.292", id: 2},...]
,我需要提取所有的ID誰擁有相同的APX。
我有jQuery的編曲,看起來像這樣建立從現有陣列新數組使用jQuery
var occupy = [{apx: "45.406/19.292", id: 1},{apx: "45.406/19.292", id: 2},...]
,我需要提取所有的ID誰擁有相同的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
對象將包含其apx
分組的id
陣列。
的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>
的ID陣列將有烏爾新的數組。
下面是使用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);
你可以做排序 –
你的意思,其中2個或多個項目具有相同APX? – Johan
是的,其中2個或更多 –