다음과 같은 배열 구조가 있습니다. 나는 다른 형식으로 변환해야하는자바 스크립트 배열 구조
test = [
S1 {
science : 90
}
S2
{
Science:80,
Maths :56
}
]
나는 아래의 구조 내 위의 배열을 변환 할
Subjects {
Science : 0
Maths :0
English:0
}
아래 모든 주제를 가진 배열을
S1 {
science : 90,
Maths :0,
English:0
}
S2
{
Science:80,
Maths :56,
English:0
}
즉, 제목을 사용할 수없는 경우 키 값 쌍을 0
나는 아래를 시도했다
for (var i = 0; i < test.length; i++) {
for (var key in test[i]) {
for (var iKey in test[i][key]) {
varr s = (t.hasOwnProperty(iKey)) ? t[iKey] : createSubjects();
s[key] = test[i][key][iKey];
t[iKey] = s;
}
}
}
function createSubjects(){
var obj = [];
//categoryArray
for (var a = 0, l = Subjects a < l; ++a) {
obj[Subjects [a]] = 0;
}
return obj;
}
나는 예상되는 답을 얻지 못한다. 여기
감사
구문 오류가 난 모든 유형의Object { Maths=0, Science=0, English=0}
입니다 무엇을 얻을
var test = [
S1 = {
science : 90
},
S2 =
{
Science:80,
Maths :56
}
]
var Subjects = {
Science : 0,
Maths :0,
English:0
}
function createSubjects(){
return {'Maths' : 0, 'Science': 0,'English':0}
}
var t = {}
console.log(createSubjects())
for (var i = 0; i < test.length; i++) {
for (var key in test[i])
{
var s = (t.hasOwnProperty(key)) ? t[key] : createSubjects();
console.log(s)
}
}
우유없는 corect 코드입니다. 하지만 제가 필요한 것은
Object { Maths=0, Science=90, English=0}
Object { Maths=56, Science=80, English=0}
덕분에 내가 제대로 질문을 이해하면,이 작업을해야
예상되는 것은 무엇이며 실제로 보는 것은 무엇입니까? – David
처음에는 많은 구문 오류가 있습니다. 배열 정의와 for 루프 문은 두 가지 문제점이있는 곳입니다. –
JavaScript 배열 및 객체의 기초를 배워야합니다. 원하는 출력이 유효한 JavaScript가 아닙니다. – erturne