2013-09-04 3 views
1

기존 배열에서 제한된 값으로 새 배열을 만들려고합니다. 아래 예제에서 LargeArray에는 많은 속성 – 년, 서적, gdp 및 제어가 포함되어 있습니다. 내가 year와 gdp 만 포함 할 새로운 배열을 만들고 싶다고하자.기존 배열 속성에서 새 배열 만들기

var LargeArray = [ 
    {year:1234, books:1200, gdp:1200, control:1200}, 
    {year:1235, books:1201, gdp:1200, control:1200}, 
    {year:1236, books:1202, gdp:1200, control:1200} 
]; 

내가 얻기 위해 노력하고 새로운 배열은 다음과 같을 것이다 :

var NewArray = [ 
    {year:1234, gdp:1200}, 
    {year:1235, gdp:1200}, 
    {year:1236, gdp:1200} 
]; 
+0

, 내가지도 기능이 도움이 될 경우 확실하지 않다. 그것도 평범한 자바 스크립트와 함께 더 낫다면 그것도 좋습니다. –

답변

3

사용 $.map()

var LargeArray = [{year:1234, books:1200, gdp:1200, control:1200}, {year:1235, books:1201, gdp:1200, control:1200}, {year:1236, books:1202, gdp:1200, control:1200}, {year:1237, books:1203, gdp:1200, control:1200}, {year:1238, books:1204, gdp:1200, control:1200}]; 
var NewArray = $.map(LargeArray, function (value) { 
    return { 
     year: value.year, 
     gdp: value.gdp 
    } 
}) 

데모 : Fiddle

+0

방금'$ .map'을 찾았고'$ .makeArray'를 통해 배열을 실행한다고 언급했습니다 - 여기가 관련이 있습니까? –

+0

이것은 매우 똑똑하다 :) Arun, 고마워! –

+0

@RUJordan 아니요 OP에 실제 배열이 있기 때문에 그렇지 않습니다. –

0

Array.prototype.map

사용
var newArray = largeArray.map(function(obj) { 
    return { year: obj.year, gdp: obj.gdp }; 
}); 

참고 : Array.prototype.map은 최근 추가 된 것입니다. 구형 브라우저를 지원하려면 MDN의 shim을 사용하십시오. 나는 새로운 배열을 생성하기 위해 jQuery를 사용하고 싶습니다

jsFiddle Demo