2017-09-07 5 views
-3

속성 키가 숫자가 아닌 문자열 일 때 객체에서 모든 홀수 또는 짝수 속성을 반복하는 방법은 무엇입니까?개체 자바 스크립트의 모든 홀수 또는 심지어 속성을 반복 할 수 있습니까?

var object = { 
    odd1: 'a', 
    even2: 'b', 
    odd3: 'c', 
    even4: 'd' 
}; 

// 편집 : 키가 중복되지 않습니다.

+2

키 이름입니다 even' odd' & ''가 사용할 수 있습니까? 객체가 중복 키 – brk

+0

을 가질 수 없습니다이 U 도움이 될 수 있습니다. https://stackoverflow.com/questions/8119941/split-an-array-into-two-arrays-based-on-odd-even-position –

+0

개체는 사전과 같습니다. 키는 엄격히 고유하고 순서가 없습니다. –

답변

0
  var object = { 
      odd1: 'a', 
      even2: 'b', 
      odd3: 'c', 
      even4: 'd' 
     }; 
     var od = []; var ev = []; 
     var len = Object.keys(object).length; 
     var keys = Object.keys(object); 
     for (var i = 0; i < len; i++) { 
     if(i%2 === 0){ 
      ev.push(keys[i]); 
     } 
     else { 
      od.push(keys[i]); 
     } 
     } 
     alert("odd values are: "+od+" and even values are: "+ev); 
+0

당신의 목적이 짝수와 홀수 값을 분리하는 것이라면 먼저 객체의 키를 배열로 변환해야하거나 u가 할 수있는 값을 원한다면 – anitab

1

먼저, 동일한 이름을 가진 두 개의 속성을 가질 수 없습니다. 객체 속성에 대한 순서는 없습니다. 최신 값은 이전 값보다 우선합니다.

속성을 반복하려면 Object#keys을 사용하면 개체의 속성을 반환합니다. 그리고 객체에 2 개의 속성 만 있음을 알 수 있습니다.

"use strict" 
 

 
var object = { 
 
    odd: 'a', 
 
    even: 'b', 
 
    odd: 'c', 
 
    even: 'd' 
 
}; 
 

 

 
Object.keys(object).forEach(prop => console.log(`${prop} - ${object[prop]}`));

+0

개체에서 홀수/짝수 순서로 약간의 빛을 흘릴 수 있습니까? – Teemu

+0

오브젝트 프로퍼티에는 순서가 없습니다. 단순히 오즈와 에덴에 주문할 수 없습니다. – Teemu

+0

"홀수 짝수"는 순서입니다. – Teemu

0

으로 반복 객체에서 모든 홀수 또는 짝수 특성, 재산 키는 문자열이 아닌 숫자를 할 때?

이것은 본질적으로 전체 개체를 반복합니다. 이를 위해 당신은 for ..in

var object = { 
 
    '1': 'a', 
 
    '2': 'b', 
 
    '3': 'c', 
 
    '4': 'd' 
 
}; 
 
for (var keys in object) { 
 
    console.log(object[keys]) 
 
}