2012-08-09 6 views
0

저는 초보자이고 영어도 잘 못합니다. 내 문제는 배열에서 개체 테이블을 만들려고 노력하고 있지만 아무 succes. 목표는 단순한 인보이스 스크립트를 작성하는 것입니다. 의 내가 어떤 위치에 배열이 있다고 가정 해 봅시다 :jQuery 사용자 정의 객체 정렬

recordArr = [값 valueWithTax, taxInPercent]

내가 키 "taxInPercent"에 의해 객체 배열을 그 합 위치 (값, valueWithTax)을 구축하고자합니다.

for(key in recordArr){ 
    if (isNaN(SortrRecordArr[recordArr[key][2]])) { 
     SortrRecordArr[recordArr[key][2]] = [recordArr[0], recordArr[1]] 
     } 
     else { 
      newValue = SortrRecordArr[recordArr[key][2]][0] + recordArr[0] 
      newValueWithTax = SortrRecordArr[recordArr[key][2]][1] + recordArr[1] 

      SortrRecordArr[recordArr[key][2]] = [newValue, newValueWithTax]; 
     }   
} 

하지만이 recordArr

내가 객체와 이전의 변수를 정의했던 물론

에 나타납니다 만 마지막 값을 유지 : 무엇 내가 지금 한 일은이다. 나는 내가 분명히했기를 바란다.

은 그래서 다음과 같이이다 :

recordArr[1] = [1 , 2 , 23] 
recordArr[2] = [1 , 2 , 23] 
recordArr[3] = [2 , 3 , 8] 
recordArr[4] = [2 , 3 , 8] 
recordArr[5] = [3 , 4 , 5] 
recordArr[6] = [3 , 4 , 5] 

내가 같은 결과 fo를 찾고 있어요 :

SortRecordArray[23] = [2 , 4] 
SortRecordArray[8] = [4 , 6] 
SortRecordArray[5] = [6 , 8] 

내가 그 무엇을 이해하는 것이 더 명확 희망

하는의 난 배열이 있다고 가정 해 봅시다 나는하려고 애쓴다.

감사합니다. 친절하게 대해주십시오.

+0

난 당신이려고 결과를 이해하지 못하는,하지만 당신은 사용을 할 수있을 것 같습니다 [ underscore.js의'sortBy' 또는'groupBy' 함수들] (http://underscorejs.org/#sortBy). –

답변

1

개체에 항목이있는 경우 .hasOwnProperty()으로 확인해야합니다. 여기

그리고

전체 편집 당신이 필요로하는 코드,

var recordArr = []; 
var SortrRecordArr = []; 

recordArr[1] = [1 , 2 , 23]; 
recordArr[2] = [1 , 2 , 23]; 
recordArr[3] = [2 , 3 , 8]; 
recordArr[4] = [2 , 3 , 8]; 
recordArr[5] = [3 , 4 , 5]; 
recordArr[6] = [3 , 4 , 5]; 

for(var key in recordArr){ 
    if (!SortrRecordArr.hasOwnProperty(recordArr[key][2])) { 
     SortrRecordArr[recordArr[key][2]] = [recordArr[key][0], recordArr[key][2]]; 
    } else { 
     newValue = SortrRecordArr[recordArr[key][2]][0] + recordArr[key][0]; 
     newValueWithTax = SortrRecordArr[recordArr[key][2]][3] + recordArr[key][4]; 
     SortrRecordArr[recordArr[key][2]] = [newValue, newValueWithTax]; 
    }   
} 

console.log(SortrRecordArr) 
​ 

DEMO

+0

예,하지만 이전에 recordArr에 하나 이상의 항목이 있다고 말하지 않았습니다. –

+0

그래서 두 개 이상의 항목이있는 예제 recordArr을 질문에 추가 할 수 있습니까? – ocanal

+0

내 문제를 더 잘 이해할 수 있도록 내 질문을 편집했습니다. –

관련 문제