js 合并json 数组中有同⼀key 值的json
问题:把下列json 数组中有相同”BrandType”的json 的“CarName”合并
结果:arr
数组就是合并后的值
var json = [
{"BrandType":"⼀汽⼤众奥迪", "CarName": "100"},
{"BrandType":"⼀汽⼤众奥迪", "CarName": "200"},
{"BrandType": "奥迪进⼝", "CarName": "A5"} ];
var arr = new Array();
/
/循环json 数组
function jsonLoop (json,arr){
for (var m in json){
var jsonValue = json[m];
var mn = findValue(arr,jsonValue.BrandType);
if (mn>=0){//⼤于0 说明存在相同的
arr[mn] = addValue(arr[mn],"CarName",jsonValue.CarName);
}else {
arr.push(JSON.stringify(jsonValue))
}
}
console.log(arr)
}
//查是否存相同value,在并返回下标
function findValue (json,value){
for (var n in json){
var jsonValue = JSON.parse(json[n])
if (jsonValue.BrandType == value){
return parseInt(n);
}
}
return -1;
}
// 存在相同value 值合并
js合并两个数组function addValue (json,key,value){
var jsonValue = JSON.parse(json);
var j = new Array(jsonValue[key])
j.push(value)
jsonValue[key] = "["+j.toString()+"]";
return JSON.stringify(jsonValue);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论