let finaloutput = {};
$.each( arr, function(index,key) {
let outarray = [];
// var id sourced from another function
outarray.push(id,index,key);
//??finaloutput[id].push(outarray);
}
위의 코드에서 아래와 비슷한 객체를 저장하려고합니다. 루프가 동일한 ID를 가져올 때마다 최종 출력 객체에 배열을 추가합니다 (예 : id : index : key).
id = 7 인 첫 번째 루프 index = param 1 key = val1
{"7":[{param1:val1}]}
두 번째 .. id = 7 index = param 2 key = val2
{"7":[{param1:val1,param2:val2}]}
세 번째 ... id = 8 index = param 1 key = val1
{"7":[{param1:val1,param2:val2}],"8":[{param1:val1}]}
이것을 어떻게 달성합니까?
샘플 데이터를 사용하여 유사한 출력을 생성하려고했습니다.
`let indx = ["param1", "param2", "param3", "param4", "param5"]
let key = ["k1", "k2", "k3", "k4", "k5"]
let id = ["1", "2", "3", "4", "5"]
let resultObj = {}
for (let i = 0; i < 5; i++) {
if (resultObj[id]) {
let temp=Object.assign({}, {[indx[i]]:key[i]}, ...resultObj[id[i]])
resultObj[id[i]] = [temp];
}
else{
let ob=[{[indx[i]]:key[i]}]
resultObj[id[i]]=ob
}
}
console.log(resultObj)`
귀하의 경우에는 다음과 같이 할 수 있습니다. let finaloutput = {}; $.each(arr, function (index, key) { if (finaloutput[id]) { let temp = Object.assign({}, { [index]: key }, ...finaloutput[id]) finaloutput[id] = [temp]; } else { let temp2 = [{ [index]: key }] finaloutput[id] = temp2 } }
참고 귀하의 코드에 대한 답을 정확하게 공식화 할 수 없거나 오류가 발생하는 경우 더 나은 이해를 얻으려면 내 예제를 참조하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다