복붙노트

[JQUERY] 이름으로 변수를 사용하여 자바 스크립트 객체에 속성을 추가 하시겠습니까?

JQUERY

이름으로 변수를 사용하여 자바 스크립트 객체에 속성을 추가 하시겠습니까?

해결법


  1. 1.이 해당 구문을 사용할 수 있습니다 :

    이 해당 구문을 사용할 수 있습니다 :

    obj[name] = value
    

  2. 2.ECMAScript를 2,015하면 대괄호 표기법을 사용하여 객체 선언에서 직접 작업을 수행 할 수 있습니다

    ECMAScript를 2,015하면 대괄호 표기법을 사용하여 객체 선언에서 직접 작업을 수행 할 수 있습니다

    var obj = {
      [key]: value
    }
    

    키 (예를 들면 변수) 값을 리턴 식 중 정렬 될 수있는 위치 :

    var obj = {
      ['hello']: 'World',
      [x + 2]: 42,
      [someObject.getId()]: someVar
    }
    

  3. 3.당신은이 같은 객체의 목록을 만들 수 있습니다

    당신은이 같은 객체의 목록을 만들 수 있습니다

    var feeTypeList = [];
    $('#feeTypeTable > tbody > tr').each(function (i, el) {
        var feeType = {};
    
        var $ID = $(this).find("input[id^=txtFeeType]").attr('id');
    
        feeType["feeTypeID"] = $('#ddlTerm').val();
        feeType["feeTypeName"] = $('#ddlProgram').val();
        feeType["feeTypeDescription"] = $('#ddlBatch').val();
    
        feeTypeList.push(feeType);
    });
    

  4. 4.액세스 개체 속성에 두 개의 서로 다른 표기법이있다

    액세스 개체 속성에 두 개의 서로 다른 표기법이있다

    도트 표기법은 쉽고 빠르게하지만 당신은 명시 적으로 실제 속성 이름을 사용해야합니다. 어떤 대체 변수 등 없다

    브라켓 표기법 오픈이 종료된다. 이 문자열을 사용하지만 당신은 어떤 법적 JS 코드를 사용하여 문자열을 생성 할 수 있습니다. 당신은 (이 경우 도트 표기법으로 쉽게 읽을 것이지만) 문자로 문자열을 지정하거나 어떤 방법으로 변수 또는 계산을 사용할 수 있습니다.

    그래서,이 모든 값으로 myObj로 속성 이름 prop1을 설정 안녕하세요 :

    // quick easy-on-the-eye dot notation
    myObj.prop1 = "Hello";
    
    // brackets+literal
    myObj["prop1"] = "Hello";
    
    // using a variable
    var x = "prop1"; 
    myObj[x] = "Hello";                     
    
    // calculate the accessor string in some weird way
    var numList = [0,1,2];
    myObj[ "prop" + numList[1] ] = "Hello";     
    

    주의 할 점 :

    myObj.[xxxx] = "Hello";      // wrong: mixed notations, syntax fail
    myObj[prop1] = "Hello";      // wrong: this expects a variable called prop1
    

    TL; DNR : 당신은 계산 또는 대괄호 표기법을 사용해야하는 키를 참조하십시오. 명시 적으로 키를 사용하는 경우, 간단한 명확한 코드를 점 표기법을 사용합니다.

    참고 : 다른 좋은 정답이 있지만 나는 개인적으로 그들에게 JS 온 - 더 - 플라이 quirkiness와 낮은 친숙 함에서 오는 약간의 개요를 발견했다. 이것은 일부 사람들에게 유용 할 수 있습니다.


  5. 5.lodash, 당신은이 _.set 같은 새로운 개체를 만들 수 있습니다 :

    lodash, 당신은이 _.set 같은 새로운 개체를 만들 수 있습니다 :

    obj = _.set({}, key, val);
    

    또는이 같은 개체를 기존 설정할 수 있습니다 :

    var existingObj = { a: 1 };
    _.set(existingObj, 'a', 5); // existingObj will be: { a: 5 }
    

    당신이 당신의 경로에 ( ".") 점 사용하려는 경우 lodash 예를 들어, 계층 구조를 설정할 수 있으므로,주의해야합니다 :

    _.set({}, "a.b.c", "d"); // { "a": { "b": { "c": "d" } } }
    

  6. 6.처음에 우리는 변수로 키를 정의 할 필요가 다음 우리는 객체로 키로 할당해야합니다. 예를 들어 VAR 데이터 = {키 'dynamic_key'값 'dynamic_value'} VAR 키 data.key =; VAR OBJ = {[키]} data.value CONSOLE.LOG (OBJ)

    처음에 우리는 변수로 키를 정의 할 필요가 다음 우리는 객체로 키로 할당해야합니다. 예를 들어 VAR 데이터 = {키 'dynamic_key'값 'dynamic_value'} VAR 키 data.key =; VAR OBJ = {[키]} data.value CONSOLE.LOG (OBJ)


  7. 7.ES2015 Object.assign의 출현과 계산 된 속성 이름으로 영업 이익의 코드는 아래로 비등 :

    ES2015 Object.assign의 출현과 계산 된 속성 이름으로 영업 이익의 코드는 아래로 비등 :

    var obj = Object.assign.apply({}, $(itemsFromDom).map((i, el) => ({[el.id]: el.value})));
    

  8. 8.자바 스크립트는 자바 스크립트 객체 속성을 가져 오는에 대한 주석의 두 가지 유형이있다 :

    자바 스크립트는 자바 스크립트 객체 속성을 가져 오는에 대한 주석의 두 가지 유형이있다 :

    OBJ = {};

    1) (.) 주석 예. Obj.id 개체가 이미 이름이 'ID'로 속성을 가지고있는 경우에만 작동합니다

    2) ([]) 주석 등. 개체 이름 '아이디'와 재산이없는 경우 OBJ [ID] 여기서, 이름 'ID'로 새 속성을 만들 것입니다.

    그래서 예를 아래에 :

    당신의 Obj [이름]을 쓸 때 새로운 속성은 항상 생성됩니다. 속성에 이미 같은 이름을 가진 존재한다면 그것을 우선합니다.

    const obj = {}
        jQuery(itemsFromDom).each(function() {
          const element = jQuery(this)
          const name = element.attr('id')
          const value = element.attr('value')
          // This will work
          obj[name]= value;
        })
    

  9. 9.주제에 관련하지 특별히하지만 대한 jQuery. 나는 어쩌면 누군가가 도움이 EC6 프로젝트 반응이 사용 :

    주제에 관련하지 특별히하지만 대한 jQuery. 나는 어쩌면 누군가가 도움이 EC6 프로젝트 반응이 사용 :

    this.setState({ [`${name}`]: value}, () => {
          console.log("State updated: ", JSON.stringify(this.state[name]));
        });
    

    PS : 인용 문자를 마음하시기 바랍니다.


  10. 10.당신이 객체를 동적으로 필드를 추가 할 경우, 그것을 할 수있는 가장 간단한 방법은 다음과 같습니다

    당신이 객체를 동적으로 필드를 추가 할 경우, 그것을 할 수있는 가장 간단한 방법은 다음과 같습니다

     var params= [
    {key: "k1", value=1},
    {key: "k2", value=2},
    {key: "k3", value=3}];
    
    for(i=0; i< params.len; i++) {
      data[params[i].key] = params[i].value
    }
    

    이 필드 다음 한 데이터 객체를 생성합니다 :

    {k1:1, k2:2, k3:3}
    

  11. 11.당신이 객체가있는 경우, 당신은을 통해지도보다, 키의 배열을하고, 이전 객체 키 및 값에서 새로운 객체를 생성 할 수 있습니다.

    당신이 객체가있는 경우, 당신은을 통해지도보다, 키의 배열을하고, 이전 객체 키 및 값에서 새로운 객체를 생성 할 수 있습니다.

    Object.keys(myObject)
    .map(el =>{
     const obj = {};
     obj[el]=myObject[el].code;
     console.log(obj);
    });
    

  12. 12.objectname.newProperty = 값;

    objectname.newProperty = 값;


  13. 13.

    const data = [{
        name: 'BMW',
        value: '25641'
      }, {
        name: 'Apple',
        value: '45876'
      },
      {
        name: 'Benz',
        value: '65784'
      },
      {
        name: 'Toyota',
        value: '254'
      }
    ]
    
    const obj = {
      carsList: [{
        name: 'Ford',
        value: '47563'
      }, {
        name: 'Toyota',
        value: '254'
      }],
      pastriesList: [],
      fruitsList: [{
        name: 'Apple',
        value: '45876'
      }, {
        name: 'Pineapple',
        value: '84523'
      }]
    }
    
    let keys = Object.keys(obj);
    
    result = {};
    
    for(key of keys){
        let a =  [...data,...obj[key]];
        result[key] = a;
    
    }
    
  14. from https://stackoverflow.com/questions/695050/add-a-property-to-a-javascript-object-using-a-variable-as-the-name by cc-by-sa and MIT license