描述:存在這樣的json數(shù)組數(shù)據(jù),根據(jù)不同id(id也在json里面)獲取相應的數(shù)據(jù)(數(shù)據(jù)必須存在才獲取),具體看實例
var data = [
{
"id": 363,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491815740687.jpg"
},
{
"id": 363,
"content": ""
},
{
"id": 363,
"content": ""
},
{
"id": 363,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811216888.jpg"
},
{
"id": 363,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811218552.JPG"
},
{
"id": 364,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811159927.png"
},
{
"id": 364,
"content": ""
},
{
"id": 364,
"content": ""
},
{
"id": 364,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811167815.jpg"
},
{
"id": 364,
"content": ""
},
{
"id": 365,
"content": ""
},
{
"id": 365,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811175762.png"
},
{
"id": 365,
"content": ""
},
{
"id": 365,
"content": ""
},
{
"id": 365,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811179370.jpg"
},
{
"id": 366,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811185387.jpg"
},
{
"id": 366,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811187146.jpg"
},
{
"id": 366,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811188690.JPG"
},
{
"id": 366,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811197842.JPG"
},
{
"id": 366,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811199545.png"
},
{
"id": 367,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811207099.png"
},
{
"id": 367,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811208608.jpg"
},
{
"id": 367,
"content": ""
},
{
"id": 367,
"content": ""
},
{
"id": 367,
"content": ""
},
{
"id": 368,
"content": ""
},
{
"id": 368,
"content": ""
},
{
"id": 368,
"content": ""
},
{
"id": 368,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811216888.jpg"
},
{
"id": 368,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811218552.JPG"
},
{
"id": 369,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811231985.png"
},
{
"id": 369,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811230524.jpg"
},
{
"id": 369,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811228955.jpg"
},
{
"id": 369,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811227399.jpg"
},
{
"id": 369,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811225656.JPG"
},
{
"id": 370,
"content": ""
},
{
"id": 370,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811238378.jpg"
},
{
"id": 370,
"content": "/upload/front/order/itemList/zanCut/2017/04/10/1491811240198.png"
},
{
"id": 370,
"content": ""
},
{
"id": 370,
"content": ""
}
];
// 數(shù)組去重
Array.prototype.unique = function () {
var obj = [],
arr = [],
val = '',
type = '';
for (var i = 0, len = this.length; i < len; i++) {
val = this[i];
type = typeof val;
// 若不存在obj[val],則val一定會被push進arr
if (!obj[val]) {
// 將val的數(shù)據(jù)類型存放到obj[val],處理極端情況會用到
obj[val] = [type];
arr.push(val);
} else if (obj[val].indexOf(type) < 0) {
// 若obj[val]已存在(鍵值會執(zhí)行toString()轉(zhuǎn)換,可能會得到相同的obj[val],但obj[val]里的type一定是唯一的)
obj[val].push(type);
arr.push(val);
}
}
return arr;
}
var idArr = [],
idTemp1 = [],
idTemp2 = [],
contentArr = [],
valueObj = {};
for (var i = 0, len = data.length; i < len; i++) {
if (data[i].content) {
// 當且僅當data[i].content有值,才將id push進數(shù)組idArr
// 以及將id、conetnt push進contentArr
idArr.push(data[i].id);
contentArr.push([data[i].id, data[i].content]);
} else {
// 若content為空,則push false 到idArr
idArr.push(false);
}
}
// 將數(shù)組里面的fasle值過濾掉
idTemp1 = idArr.filter(function (val) {
if (val !== false) return val;
});
// 去掉重復的id(數(shù)組去重)
idTemp2 = idTemp1.unique();
if (idTemp2.length > 0) {
idTemp2.forEach(function (val) {
valueObj[val] = [];
contentArr.forEach(function (value) {
if (val === value[0]) {
valueObj[value[0]].push(value[1]);
}
});
});
}
console.log(valueObj);