programing

동적 키, 값 쌍을 JavaScript 배열 또는 해시 테이블에 추가

newnotes 2023. 3. 16. 21:49
반응형

동적 키, 값 쌍을 JavaScript 배열 또는 해시 테이블에 추가

기존 Javascript 관련 배열에 키 값 쌍을 추가하려고 합니다.키는 변수여야 합니다.이것은 JSON 인코딩용입니다.여기에는 많은 플러그인과 프레임워크가 있지만 간단한 답변을 원합니다.

ary.push({name: val});

어디에ary새로운 어레이입니다.name키를 포함하는 변수입니다.val이 엔트리의 값입니다.

나는 이것을 하고 있다.jQuery폼 필드를 반복하는 루프입니다.

ES6에서는...

ES6에서는 파괴 할당을 사용할 수 있습니다.

ary.push({[name]: val});

단, 이것이 ES6 구문이기 때문에 일반적인 경고가 적용됩니다.이것은 일부 브라우저(특히 IE 및 Edge 13)에서는 동작하지 않습니다.바벨이 이걸 바꿔줄 거예요


ES6(레거시 브라우저 지원)가 없는 경우...

오브젝트를 정의하고 대괄호 표기를 사용하여 속성을 설정해야 합니다.

var obj = {};

obj[name] = val;

ary.push(obj);

더 자세히 읽고 싶은 충동이 있는 경우 각 괄호와 도트 표기법의 차이에 대한문서를 참조하십시오.

var ary = [];

function pushToAry(name, val) {
   var obj = {};
   obj[name] = val;
   ary.push(obj);
}

pushToAry("myName", "myVal");

방금 당신의 질문을 다 읽었으므로, 당신이 필요한 것은 다음과 같습니다.

$(your collection of form els).serializeArray();

Good old jQuery

'어소시에이션 어레이'는 실제로는 단순한 객체입니다.push를 사용하지 않고 오브젝트에 속성만 할당합니다.

ary[name] = val;

다음 코드가 도움이 됩니다.

ary.push( {[name]: val} );

아래의 예를 참조해 주세요.

let allData = [{name: "Cat", type: "Animal"}]
let finalData: any = [];
for (let i = 0; i < allData.length; i++)
{
  let obj = allData[i];
  for (let KEY in obj)
  {
    //Pushing data to other array as object
    this.finalData.push({ [KEY] : obj[KEY] });
  }
}
const tStyles = [];
for (const i of iStyles) {
  const temp = {};
  temp[`${style}`] = `../dist/css/uikit.${wFile}.${style}.css`;
  tStyles.push(temp);
}

json : {"black-black":../dist/css/uikit.or.black-black.css"}

언급URL : https://stackoverflow.com/questions/9398535/add-dynamic-key-value-pairs-to-javascript-array-or-hash-table

반응형