>  기사  >  웹 프론트엔드  >  JS의 배열과 객체 순회 차이점과 객체, 배열, 속성을 재귀적으로 순회하는 방법에 대한 자세한 설명

JS의 배열과 객체 순회 차이점과 객체, 배열, 속성을 재귀적으로 순회하는 방법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-14 11:09:212984검색

더 이상 헛소리하지 말고 바로 본론으로 들어가겠습니다. 구체적인 코드는 다음과 같습니다.

<script>
 //----------------for用来遍历数组对象--
 var i,myArr = [1,2,3];
 for (var i = 0; i < myArr.length; i++) {
  console.log(i+":"+myArr[i]);
 };
 //---------for-in 用来遍历非数组对象
 var man ={hands:2,legs:2,heads:1};
 //为所有的对象添加clone方法,即给内置原型(object,Array,function)增加原型属性,该方法很强大,也很危险
 if(typeof Object.prototype.clone ==="undefined"){
  Object.prototype.clone = function(){}; 
 }
 //
 for(var i in man){
  if (man.hasOwnProperty(i)) { //filter,只输出man的私有属性
   console.log(i,":",man[i]);
  };
 }
 //输出结果为print hands:2,legs:2,heads:1
 for(var i in man) {//不使用过滤
  console.log(i,":",man[i]);
 } 
 //输出结果为
 //hands : 2 index.html:20
 //legs : 2 index.html:20
 //heads : 1 index.html:20
 //clone : function (){} 
 for(var i in man) {
  if(Object.prototype.hasOwnProperty.call(man,i)) { //过滤
   console.log(i,":",man[i]);
  }
 } //输出结果为print hands:2,legs:2,heads:1 </script>

다음으로 객체, 배열, 속성의 js 재귀 순회를 소개하겠습니다

프런트 엔드 작업 때로는 알려지지 않은 유형의 객체를 탐색해야 할 때도 있습니다. 코드는 다음과 같습니다:

//js 순회 객체
function TraversalObject(obj)
{
for (var a in obj) {
if (typeof (obj[a ]) = "객체") {
                                                                                                                                                                     사용 사용 사용 사용 사용 사용 사용 out out out 사용 off off ’ s ’ ‐ 통과 ‐ 순회 개체(obj[a]--- 그냥 표시
}
}
}

//객체에 있는 모든 Ur의 값을 탐색합니다
function TraversalObject(obj)

{

for (var a in obj ) {

if(a=="Url") Alert(obj[a]);//URL 값 표시
if (typeof (obj[a]) == " object") {

TraversalObject(obj[a]); //재귀 순회

}
}
}

이 순회 방법은 객체가 불규칙하지만 필요한 경우 매우 유용합니다. 동일한 속성을 얻으려면.

JS 순회 배열과 객체의 차이점과 객체, 배열, 속성을 재귀적으로 순회하는 방법에 대한 자세한 설명은 PHP 중국어 사이트 관련 글을 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.