2014-12-08 4 views
0

안녕하세요, 저는 여러 배열에서 객체의 배열을 만들려고합니다. 이것은 아마도 매우 기본적인 질문이지만 온라인에서 검색하는 올바른 방법을 찾지 못했습니다. .배열을 객체의 배열로 변환하는 방법

object1 = {valueYes:15, valueNo:23,valueNotSure:1} 
object2 = {valueYes:30, valueNo:75,valueNotSure:-1} 
....... 
: 각 개체가 구성되어

data = [object1, object2,.....] 

: 내가 달성하고자하는 것은 같은 배열 인

valueYes = [15,30,22,18,2,6,38,18]; 
valueNo = [23,75,45,12,45,9,17,23]; 
valueNotSure = [1,-1,1,1,-1,-1,-1,1]; 

:(

내가있어 원래의 데이터는

현재 코드가 조금 복잡하여 각 키의 값이 비어 있습니다.

valueYes = [15,30,22,18,2,6,38,18]; 
valueNo = [23,75,45,12,45,9,17,23]; 
valueNotSure = [1,-1,1,1,-1,-1,-1,1]; 

var object1 = Object.create({}, { 
    myChoice: { value: function(myChoice) {for (var i = 0; i < len; i++){return this.myChoice[i] = myChoice[i];} } } 

}); 

답변

6

가정의 모든 배열은 같은 크기가 :

valueYes = [15,30,22,18,2,6,38,18]; 
valueNo = [23,75,45,12,45,9,17,23]; 
valueNotSure = [1,-1,1,1,-1,-1,-1,1]; 

var data = []; 

for(var i = 0; i < valueYes.length; i++){ 
    data.push({ 
     valueYes: valueYes[i], 
     valueNo: valueNo[i], 
     valueNotSure: valueNotSure[i] 
    }); 
} 
+0

아,이게 내가 아주 명확 찾고 있어요 물건입니다! 고맙습니다! – user2510699

3

당신은 다음과 같은 것을 사용할 수를;

var objs = valueYes.map(function (v, i) { 
    return { 
     valueYes: v, 
     valueNo: valueNo[i], 
     valueNotSure: valueNotSure[i] 
    }; 
}); 

...이 ...

+1

그래, 내가'map'을 고려해 봤지만, OP의 레벨이 주어지면 루프가 더 명확해질 것이라고 생각했다. –

+1

.map()으로 멋진 & 우아한 솔루션 –

0

이를 map() Array method를 사용하고, 모든 배열은 같은 길이 있다고 가정?

var valueYes = [15,30,22,18,2,6,38,18]; 
var valueNo = [23,75,45,12,45,9,17,23]; 
var valueNotSure = [1,-1,1,1,-1,-1,-1,1]; 

var data = []; 
valueYes.forEach(function(item, index) { 
    data.push({ valueYes: valueYes[index], valueNo: valueNo[index], valueNotSure: valueNotSure[index] }); 
}); 

console.log(data); 

http://jsfiddle.net/chrisbenseler/9t1y1zhk/

+1

'mapEnter'를 사용할 때 왜 forEach와 push를 사용해야 할까? 똑같은 일을합니까? 그리고 왜'item'에 이미 valueYes [index]를 넣었습니까? –

+0

다른 2 개의 배열의 [색인]을 가져와야하기 때문에 색인이 필요합니다. "항목"은 valueYes 배열의 값만 참조합니다. 그리고 .map() 사용에 대해서는 생각하지 않았습니다. 나는 또한 .map() 사용이 매우 우아하다는 Matt의 게시물에 댓글을 달았습니다 ;-) –

관련 문제