簡體   English   中英

Angular TypeScript Map 鍵值對不保存

[英]Angular TypeScript Map with key value pairs not saving

在 Angular web 應用程序中,我有一個在用戶按下按鈕時調用的方法。 基於該用戶操作,我從標簽和文本輸入字段中收集了一些值,並希望將它們存儲在 Map object 中的鍵值對中。 Map object 應該依次成為另一個 object 的一部分並發送到后端/REST ZDB974238714CA8DE634A7ACE1

但是,map 似乎從未真正保存過。 我對這是如何發生的感到困惑和困惑。

這是下面的代碼(填充地圖的示例之一):

let testMap = new Map([['testers','tester'],['235235','2124124'],['2352352','2124124']]);
console.log('Map Size: ' + testMap.size);
console.log('Map Output: ' + JSON.stringify(testMap));

Output being:
Map Size: 3
Map Output: {}

以及下面的代碼(填充地圖的示例二):

let testMap:Map<string,string> = new Map<string,string>();
testMap.set('tester1','1234');
testMap.set('tester2','4567');

console.log('Map Size: ' + testMap.size);
console.log('Map Output: ' + JSON.stringify(testMap));


Output being:
Map Size: 2
Map Output: {}

這是我的 tsconfig.json 文件:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es5",
    //"target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

在這兩種情況下,Map 看起來都是空的,但它的大小顯示正確。 在后端,我似乎也得到了一個空的 Map。 我在這里錯過了什么嗎? 或者在這里做錯了什么?

您的testMap有值。 你可以通過

  JSON.stringify(Object.fromEntries(testMap))

或者

  JSON.stringify([...testMap]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM