2016-08-15 3 views
1

Javascript에서 다른 개체 내에 쉼표로 구분 된 개체 목록을 만들려면 어떻게해야합니까? 적어도 그것은 내가하려고하는 것입니다. Javascript 개체 목록을 쉼표로 구분 된 개체로 동적으로 만드는 방법

내가 찾고 그 결과

은 이것이다 : 여러 개의 문자열과 접합하는을 만드는

내가 Array.join() 클래스를 생성, 배열을 사용하여 시도했다
var endresult = { 'MD': { fill: 'yellow' }, 'VA': { fill: 'blue' }, 'IL': { fill: 'red' }, 'SC': { fill: 'green' } }; 

. 키 객체 값 쌍을 만들려고했지만 성공적으로 만들 수 없습니다.

일반적인 목표는 State 변수와 Color 변수의 목록을 가져 와서 key : object 값 쌍의 클래스로 전달한 다음이 새로운 인스턴스화 된 객체를 목록에 추가합니다. 그러면이 목록이 변수 endresult에 전달됩니다. 제공된 예제 코드와 동일한 구문.

미리 감사드립니다. (나는 학교에있을 예정입니다.)

+2

변형하고자하는 데이터의 예를 게시하십시오 –

+0

이것이 jQuery와 어떤 관련이 있습니까? 질문을 편집하고 필요한 모든 정보를 제공하며 적절한 답을 얻을 수 있도록 우리가 같은 페이지에 있는지 확인하십시오. –

+0

@RobertRocha jQuery가 문제를 해결하는 데 사용될 수 있다고 생각했습니다. – BinaryBoss

답변

3

을 감안할 때 두 배열 상태를 가진 하나의 색 이름을 가진 다른, 당신은 최종 결과를 얻으려면이 기능을 사용할 수 있습니다 : 당신

function combine(states, colors) { 
 
    return colors.reduce((result, color, i) => 
 
     Object.assign(result, { [states[i]]: { fill: color } }), {}); 
 
    
 
} 
 

 
// sample data 
 
var states = ['MD', 'VA', 'IL', 'SC']; 
 
var colors = ['yellow', 'blue', 'red', 'green']; 
 

 
// convert 
 
var result = combine(states, colors); 
 

 
// output 
 
console.log(result);

+0

이 답변은 올바른 방향으로 나를 잡았습니다. 감사! var StateStyles = {}; $ .each (data, function (i, item) { StateStyles [item.state] = {fill : item.color}, ); – BinaryBoss

+0

반갑습니다. 만약 내가'data'의 구조를 알았다면, 그 해결책을 맞춤화했을 것입니다. 그러나 당신이 그것을 볼 수있어서 좋음 ;-) – trincot

+0

그리고 그것이 내가 문제를 설명하는 데 문제가 있었던 곳이라고 생각합니다. 나는 객체의 구조가 정의 된 키를 가질 수 있다는 것을 몰랐다. – BinaryBoss

0
var colors = {LA: {fill: 'blue'}}; 
colors['MA'] = {fill: 'red'}; 
//colors is now === {LA: {fill: 'blue'}, MA: {fill: 'red'}}; 

은 명심을 Object [key] 표기법을 사용하면 키는 궁극적으로 의도 한대로 작동하는 문자열이어야합니다.

'채우기'만 유지하려는 값인 경우 {fill: 'color'} 개체를 제거하고 {LA: 'blue', ...}을 수행하여 개체를 단순화 할 수 있습니다.

참조 :

Mozilla Property accessors docs

0
var StateStyles = {}; 

$.each(data, function (i, item) { 
    StateStyles[item.state] = { fill: item.color }; 
); 

내가 모두 다 없어진 것을 trincot와 앤드류 바빈에서 배운 도움을 주셔서 감사합니다; 괄호를 사용하여 키를 할당해야했습니다. 이제는 그 안에 여러 객체가있는 객체가 있습니다. 그 일을 할 수 있는지 몰랐다.

관련 문제