나는 이런 유형의 패턴에 따라 (변경할 수)는 API에서 나에게 전송되는 객체가 있습니다최적의 방법
{
aaa: {
name: "Aaa",
desc: "..."
},
bbb: {
name: "Bbb",
desc: "..."
},
ccc: {
name: "Ccc",
desc: "...",
stuff: {
foo: {
bar: "bar"
},
keys: ["foo"]
}
},
keys: ["aaa", "bbb", "ccc"]
}
난 할 노력하고있어 것은 "를 평평 "이러한 객체는 클라이언트에서 더 유용한 객체로 변환됩니다. 그래서 위의 객체를 병합의 결과는 다음과 같습니다
[
{
key: "aaa",
name: "Aaa",
desc: "..."
},
{
key: "bbb",
name: "Bbb",
desc: "..."
},
{
key: "ccc",
name: "Ccc",
stuff: [
{ key: "foo", bar: "bar" }
]
}
]
당신이 볼 수 있듯이 내가 통과해야하는 데이터의 2 개 수준에있을 수 있습니다. 현재 새로운 객체를 반복하고 만들고 있습니다 (간단한 예 : 아래). 좀 더 우아한 방법이 있는지 궁금합니다.
var myObjs = [];
$(data.keys).each(function(i, objKey) {
i = $.extend({}, data[objKey], { key: objKey });
myObjs.push(i);
});
왜이 작업을 수행해야합니까? 'for ... in'은 옵션이 아닌가? – Shmiddty