2014-04-07 3 views
-2

그래서 Jquery를 사용하여 (반자동으로) 객체를 만들고 싶습니다.Jquery/javascript creating objects

이 대신 여기에 내 모든 코드를 게시, 나는 내가 뭘 원하는지의 예를주지 :

var myobject = { 
    'name1': { 
    'coord1':true, 
    'coord2':false, 
    'coord3':false, 
    }, 
    'name2': { 
    'coord4':true, 
    'coord5':false, 
    'coord6':false, 
    } 
} 

1) 내가 먼저 'nameX은'내 개체에 이미 있는지 확인하려면, 그렇다면 2 단계로 진행하고, 그렇지 않다면 이름을 추가하고 coordX를 true 또는 false 값으로 추가합니다.

2) 'nameX'가 배열에 있으면 'coordX'가 배열에 있는지 확인하고 싶습니다. 그렇다면 해당 값 (true 또는 false)이 같은지 확인하고 그렇지 않은 경우 교체해야합니다. 'CoordX'가 객체에 없으면 해당 값과 함께 추가하려고합니다. 예를 들어

: 오브젝트와이 값을 검토

var mynewname = 'name3'; 
var mynewcoord = 'coord5'; 
var mynewvalue = 'true'; 
var mynewname2 = 'name1'; 
var mynewcoord2 = 'coord4'; 
var mynewvalue = 'false'; 

이 제공해야합니다 :

var myobject = { 
    'name1': {' 
    coord1':true, 
    'coord2':false, 
    'coord3':false, 
    'coord4':false 
    }, 
    'name2': { 
    'coord4':true, 
    'coord5':false, 
    'coord6':false 
    }, 
    'name3':{ 
    'coord5':true 
    } 
} 

나는 사람이 좀 도와 수 있기를 바랍니다. 고마워요

+1

1. 이것은 jQuery와는 아무런 관련이 없습니다. 2. 거기에는 배열이 없습니다. 객체는 * 객체입니다. –

답변

0

개체에 주어진 이름의 속성이 있는지 알아 보려면 몇 가지 선택 사항이 있습니다.

당신은 문자열 속성 이름으로 in operator를 사용할 수 있습니다

if ("nameX" in myobject) { 
    // The object referenced by `myobject` (or its prototype) 
    // has its own property called "nameX" 
} 
else { 
    // It doesn't 
} 

in는 개체와 개체의 프로토 타입을 확인합니다. 아마 당신이 사용하고있는 단순한 객체에 대해서는 중요하지 않습니다.

또는 당신은 단지 개체를 확인 hasOwnProperty, 그리고 프로토 타입을 사용할 수 있습니다 : 당신이 name1myobject에와 있는지 확인하려면하지 않을 경우

if (myobject.hasOwnProperty("nameX")) { 
    // The object referenced by `myobject` has its own property called "nameX" 
} 
else { 
    // It doesn't 
} 

그래서 예를 들어,를 참조 name1 추가 빈 객체, 당신은이 작업을 수행 할 것입니다 : 당신이 myobject.nameX에서 참조하고있는 객체의 coordX 속성에 대한

if (!("name1" in myobject)) { 
    myobject.name1 = {}; // No, add it and give it a blank object as its value 
} 

와 유사합니다.

+0

그래서 특정 이름 내에서 특정 coordX를 확인하고 싶다면 ({myobject.name의 "coordX")} {}를 사용할 수 있습니까? – user3117628

+0

@ user3117628 :'name'은'myobject'의 속성이고 그것은 객체를 참조합니다, 그렇습니다. 그래서 예를 들어,'myobject.name1'의''coord2''는'myobject.name1'이 참조하는 객체가''coord2''라는 속성을 가지고 있다면'true'입니다. –

+0

감사합니다. 나는 4 분 안에 당신의 대답을 수락 할 것입니다 :) – user3117628