[JQUERY] 이름으로 변수를 사용하여 자바 스크립트 객체에 속성을 추가 하시겠습니까?
JQUERY이름으로 변수를 사용하여 자바 스크립트 객체에 속성을 추가 하시겠습니까?
해결법
-
1.이 해당 구문을 사용할 수 있습니다 :
이 해당 구문을 사용할 수 있습니다 :
obj[name] = value
-
2.ECMAScript를 2,015하면 대괄호 표기법을 사용하여 객체 선언에서 직접 작업을 수행 할 수 있습니다
ECMAScript를 2,015하면 대괄호 표기법을 사용하여 객체 선언에서 직접 작업을 수행 할 수 있습니다
var obj = { [key]: value }
키 (예를 들면 변수) 값을 리턴 식 중 정렬 될 수있는 위치 :
var obj = { ['hello']: 'World', [x + 2]: 42, [someObject.getId()]: someVar }
-
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.액세스 개체 속성에 두 개의 서로 다른 표기법이있다
액세스 개체 속성에 두 개의 서로 다른 표기법이있다
도트 표기법은 쉽고 빠르게하지만 당신은 명시 적으로 실제 속성 이름을 사용해야합니다. 어떤 대체 변수 등 없다
브라켓 표기법 오픈이 종료된다. 이 문자열을 사용하지만 당신은 어떤 법적 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.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.처음에 우리는 변수로 키를 정의 할 필요가 다음 우리는 객체로 키로 할당해야합니다. 예를 들어 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.ES2015 Object.assign의 출현과 계산 된 속성 이름으로 영업 이익의 코드는 아래로 비등 :
ES2015 Object.assign의 출현과 계산 된 속성 이름으로 영업 이익의 코드는 아래로 비등 :
var obj = Object.assign.apply({}, $(itemsFromDom).map((i, el) => ({[el.id]: el.value})));
-
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.주제에 관련하지 특별히하지만 대한 jQuery. 나는 어쩌면 누군가가 도움이 EC6 프로젝트 반응이 사용 :
주제에 관련하지 특별히하지만 대한 jQuery. 나는 어쩌면 누군가가 도움이 EC6 프로젝트 반응이 사용 :
this.setState({ [`${name}`]: value}, () => { console.log("State updated: ", JSON.stringify(this.state[name])); });
PS : 인용 문자를 마음하시기 바랍니다.
-
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.당신이 객체가있는 경우, 당신은을 통해지도보다, 키의 배열을하고, 이전 객체 키 및 값에서 새로운 객체를 생성 할 수 있습니다.
당신이 객체가있는 경우, 당신은을 통해지도보다, 키의 배열을하고, 이전 객체 키 및 값에서 새로운 객체를 생성 할 수 있습니다.
Object.keys(myObject) .map(el =>{ const obj = {}; obj[el]=myObject[el].code; console.log(obj); });
-
12.objectname.newProperty = 값;
objectname.newProperty = 값;
-
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; }
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
'JQUERY' 카테고리의 다른 글
[JQUERY] catch되지 않은 ReferenceError가 : $ 정의되지 않는 이유는 무엇입니까? (0) | 2020.09.21 |
---|---|
[JQUERY] 페이지가로드 사이의 변수를 지속 (0) | 2020.09.21 |
[JQUERY] jQuery를 AJAX는 양식을 작성하여 제출 (0) | 2020.09.21 |
[JQUERY] JQuery와 아약스 호출 후 리디렉션 요청을 관리하는 방법 (0) | 2020.09.21 |
[JQUERY] 설정 jQuery로 체크 박스에 대해 "확인" (0) | 2020.09.21 |