jq/js 实现多个json中键名相同的键值组合
jq实现多个json中键名相同的键值组合
function demo1(){ //数组中可以有任意多个json对象 var json = [ { "text":"text" }, { "text":"文本" }, { "text":"Texto" } ] //存放总结果 var resultArr = []; //存放键名数组 var keynames = []; for(var keyname in json[0]){ keynames.push(keyname) } //遍历所有的键名 for(var i = 0 ; i < keynames.length ; i++){ var tempJson = {}; tempJson.name = keynames[i]; var dataArr = []; //遍历存放json的数组 $.each(json,function(index,value){ //遍历json中的每一项 for(var key in value){ //如果键名一样那么就把其键值存储到暂时数组中 if(key === tempJson.name){ dataArr.push(value[key]) } } }) tempJson.data = dataArr; resultArr.push(tempJson); } //key var html=''; //CH var btml=''; //EN var ctml=''; //PT var dtml=''; //遍历key for(var c=0;c<resultArr.length;c++){ // console.log(resultArr[c].name); html+='<div>'+resultArr[c].name+'</div>'; // console.log(resultArr[c].data[0]) } //遍历CH for(var c=0;c<resultArr.length;c++){ // console.log(resultArr[c].name); html+='<div>'+resultArr[c].data[0]+'</div>' // console.log(resultArr[c].data[0]) } //遍历EN for(var c=0;c<resultArr.length;c++){ // console.log(resultArr[c].name); html+='<div>'+resultArr[c].data[1]+'</div>' // console.log(resultArr[c].data[0]) } //遍历PT for(var c=0;c<resultArr.length;c++){ // console.log(resultArr[c].name); html+='<div>'+resultArr[c].data[2]+'</div>' // console.log(resultArr[c].data[0]) } document.getElementById('abc').innerHTML=html document.getElementById('bbc').innerHTML=btml document.getElementById('cbc').innerHTML=ctml document.getElementById('cbc').innerHTML=dtml console.log(resultArr) //打印结果 }
js实现多个json中键名相同的键值组合
//数组中可以有任意多个json对象
let json = [
{
高压2:"120",
低压3:null,
低压2:"120"
},
{
高压2:"130",
低压3:null,
低压2:"100"
}]
//存放总结果
let resultArr = [];
//存放键名数组
let keynames = Object.keys(json[0]);
//遍历所有的键名
for(let i = 0 ; i < keynames.length ; i++){
let tempJson = {};
tempJson.name = keynames[i];
let dataArr = [];
//遍历存放json的数组
for(let j = 0; j < json.length ; j++){
let value = json[j];
//遍历json中的每一项
for(let key in value){
//如果键名一样那么就把其键值存储到暂时数组中
if(key === tempJson.name){
dataArr.push(value[key])
}
}
}
tempJson.data = dataArr;
resultArr.push(tempJson);
}
console.log(resultArr) //打印结果

浙公网安备 33010602011771号