2014-02-07 2 views
-1

나는 x이라는 배열을 가지고 있습니다. 여기에는 세 개의 필드가있는 객체가 포함되어 있습니다. x과 동일하지만 c이라는 필드가없는 다른 배열 을 xmini이라고 어떻게 만들 수 있습니까?개체 배열에서 필드를 제거하려면 어떻게해야합니까?

var x = [ 
    { a : 1, b : 2, c : 3 }, 
    { a : 3, b : 4, c : 5 } 
]; 
+1

나는 대답하기를 꺼려했다 : var xmini = [{a = 1, b = 2}, {a = 3, b = 4}]; ' – AnalogWeapon

+0

실제 문제는 무엇입니까? –

+0

'c'가'undefined'로 돌아 오는 것이 필요한 경우, protoypal 상속을 사용할 수 있습니다. 'x.map (function (o) {return Object.create (o, {c : {value : undefined}});});'어떻게 데이터를 사용하는지에 따라 달라집니다. –

답변

3

이 방법은 원래 x 개체에는 영향을 미치지 않습니다.

var xmini = [], 
    tmpObj = {}; 

for (var i = 0; i < x.length; i++) { 
    for (var key in x[i]) { 
     if (key !== 'c') { 
      tmpObj[key] = x[i][key]; 
     } 
    } 
    xmini.push(tmpObj); 
    tmpObj = {}; 
} 

시도한 내용과 수행하려고 시도한 내용을 구체적으로 나타내야합니다. 귀하의 질문에 대한 또 다른 대답은 간단합니다 (var xmini = [{a = 1, b = 2}, {a = 3, b = 4}];). 그러나 원래 객체의 다른 속성에 대해 알 필요없이 프로그래밍 방식으로이 새 객체를 프로그래밍하는 기능을 원한다고 가정했습니다. .

관련 문제