JS 遍历数组对象,求满足多个条件的相同属性的对象之和 (谢谢)

JavaScript051

JS 遍历数组对象,求满足多个条件的相同属性的对象之和 (谢谢),第1张

按照你的要求,求满足多个条件的相同属性的对象之和的Javascript程序如下

<script type=text/javascript>

var obj = [{source: "HTML",target: "JAVASCRIPT",value: 11},

{source: "HTML",target: "CSS",value: 22},

{source: "HTML",target: "JAVA",value: 33},

{source: "HTML",target: "JAVASCRIPT",value: 44}]

var result=[]

var flag=true

result.push(obj[0])

for(var i=1i<obj.lengthi++){

flag=true

for(var j=0j<result.lengthj++){

if(obj[i].source==result[j].source &&obj[i].target==result[j].target){

flag=false

result[j].value=obj[i].value+result[j].value

}

}

if(flag==true)

result.push(obj[i])

}

document.write(JSON.stringify(result))

</script>

源代码

如果这个数组不是json的话,就可以for(var i=0i <array.lengthi++{}来获取数组中的每一个对象,然后在{}里添加:

if(typeof array[i] == "object){

for(var key in array[i]){

//这里的array[i][key]就能遍历array数组里的对象的属性值了,key就是属性名,

}

}

如果最初的array也是个对象的话,就把for(var i=0i <array.lengthi++{}改成for(var i in array){}就行了

具体代码如下所示:

1、<script>  //----------------for用来遍历数组对象;

2、 var i,myArr = [1,2,3]  for (var i = 0i <myArr.lengthi++) {    console.log(i+":"+myArr[i])  }

3、 //---------for-in 用来遍历非数组对象   var man ={hands:2,legs:2,heads:1}  //为所有的对象添加clone方法,即给内置原型(object,Array,function)增加原型属性,该方法很强大,也很危险   if(typeof Object.prototype.clone ==="undefined"){    Object.prototype.clone = function(){}   } ;

4、  //   for(var i in man){    if (man.hasOwnProperty(i)) { //filter,只输出man的私有属性     console.log(i,":",man[i])   }  }  ;

5、//输出结果为print hands:2,legs:2,heads:1   for(var i in man) {//不使用过滤    console.log(i,":",man[i])  }   ;

6、 //输出结果为://hands : 2 index.html:20   //legs : 2 index.html:20   //heads : 1 index.html:20   //clone : function ;

7、for(var i in man) {    if(Object.prototype.hasOwnProperty.call(man,i)) { //过滤     console.log(i,":",man[i])   }   };

8、 //输出结果为print hands:2,legs:2,heads:1 </script>   。

javaScript遍历对象总结:

1、

2、